OAuth2协议
admin
2024-02-14 03:11:28
0

前言

        OAuth是一个关于授权的开放网络标准,主要是用来让用户授权给第三方应用从而或者用户在服务器的一些数据

        通俗点讲,用户在A网站有几张图片,但是获取的时候需要进行登录,而用户在B网站的时候也需要获取这几张图片,然而B服务器是没有这些数据的,他需要从A网站中获取用户的数据,这样一来,就需要用户在B网站进行授权,让B网站可以提取用户在A网站的数据,最典型的就是使用微信登录第三方网站,估计这个随处可见

核心概念

资源拥有者:也就是用户,简单可以理解为微信用户

客户端:就是要获取用户的第三方应用,例如上面的B网站

授权服务器:用来提供接口给B客户端获取资源拥有者的访问权限的

资源服务器:用户存储的资源所在的服务器,通常来说和授权服务器是在一起的

以上为Oauth2协议中的核心角色,接下来还有一些核心参数,如下

client_id: 客户端id,第三方软件需要在A网站进行注册,然后A 网站会返回的一个参数

client_secret: 同上,类似于一种标识这个客户端的密钥

grant_type:授权模式,有4种模式,后面说

access_token : 当A服务器认真后返回给B服务器用来访问具体用户资源的凭证

refresh_token : 当access_token失效时用来刷新获取一个新的access_token

授权模式分类

授权码模式

        相对来说,操作最复杂,但是也是使用比较多的一种模式,需要分两步进行

1. 获取code授权码,伪链接如下

http:a.com/oauth/authorization?client_id=b&grant_type=code&redirect_uri=b.com/auth

B网站需要引导用户去访问A网站提供的地址,该地址A网站会让用户去登录,用户同意后那么A网站会访问redirect_uri并带上code参数到B网站上面

2. 获取token信息,伪链接如下

http:a.com/oauth/token?client_id=b&client_secret=bsecre&code=CODE

这个是后台请求的,用户是看不到的,访问这个以后如果是正常的话A网站会返回access_token和refresh_token两个token信息

3. 有了access_token之后就可以通过这个请求用户在A网站上的数据了,可以直接带在参数上也可以放在请求里

简化模式

        当网站没有后端程序的时候,就只能使用这种模式进行处理了,这种相对来说就非常简单,但是也不安全,只需要一步就可以处理

1. 直接获取token信息,伪链接如下

http:a.com/oauth/authorization?client_id=b&grant_type=token&redirect_uri=b.com/auth

返回的信息就是access_token,后续的操作就是一样的了

密码模式

        当用户足够信任网站的时候,就可以使用这种模式进行授权,跟简化模式其实差不多

1. 直接获取token信息,伪链接如下

http:a.com/oauth/authorization?&grant_type=password&username=name&password=password&redirect_uri=b.com/auth

返回的信息就是access_token,后续的操作就是一样的了

客户端模式

        跟上面两种也差不多,只不过这个权限很大,不需要用户的同意,等于你只要有client_id就可以操作用户的资源了,这种模式一般在内部使用的比较多

1. 直接获取token信息,伪链接如下

http:a.com/oauth/authorization&grant_type=client&client_id=id&client_secret=client_secret&redirect_uri=b.com/auth

返回的信息就是access_token,后续的操作就是一样的了

刷新token

        access_token 的时间总是有效的,如果每次失效就要让用户重新进行授权,对于用户来说体验多少有点不好,所以Oauth2提供了一种刷新token的机制,就是利用上面的refresh_token调用专门的接口获取新的access_token,同时旧的access_token也会被失效

结语

        以上是Oauth2的基础概念和几种基本的模式,每个网站的时候可能不太一样,不过总的原则总是需要遵循这一套标准的,具体的实现与业务相关

相关内容

热门资讯

国际金价,突破历史性关口!重要... 美国东部时间25日傍晚,纽约商品交易所2月黄金期货价格在电子盘交易中 突破每盎司5000美元的历史性...
撕掉低价标签,广货正以“硬科技... 图片来源:Pixabay “广货行天下”春季行动持续引发消费热潮。1月25日,被誉为“中国电子第一街...
原创 6... 美国国内的局势正在发生戏剧性的变化,特朗普的政治影响力正在急剧下降!近日,美国参议院以68票赞成、3...
亿合集团董事长曾奎发布2026... 2026年1月27日,亿合门窗在佛山成功举办第十八届战略合作伙伴峰会暨全球新品发布会。本次大会以“燃...
事关存储芯片产能扩张!美光新晶... 财联社1月27日讯(编辑 卞纯)当地时间周一,美光科技宣布, 位于新加坡现有NAND闪存制造园区内的...
银行ETF南方(512700.... 1月27日,沪深两市小幅调整,贵金属板块涨幅居前。截至9点55分,银行ETF南方(512700.SH...
金荣中国:黄金冲高回撤仍可低多 展望今日周二(1月27日):国际黄金开盘延续隔夜尾盘止跌回升之力以及逢低买盘先行走强,但日内重点关注...
快手电商启动“丰收中国”系列I... 1月26日,快手电商在内蒙古呼和浩特举办“丰收中国”启动仪式,宣布正式启动“丰收中国”系列IP活动,...
东契奇46+11詹姆斯24分 ... 【搜狐体育战报】北京时间1月27日NBA常规赛,客场作战的湖人以129-118击败公牛。东契奇46分...
港股异动丨四环医药盘中涨8%,... 四环医药(0460.HK)盘中再度冲高至8%,3日累计升幅约25%,报1.58港元创逾3个月新低,总...
让春节生活服务消费 更顺畅 周慧虹 春节将至,辞旧迎新的大扫除成为不少家庭的“必修课”,各地家政市场火热起来。与此同时,年货消费...
当行业承压,谁在“攒未来”?洋... 当前,白酒行业正处于深度调整的“磨底期”。中国酒业协会数据显示,近八成酒企面临需求放缓、渠道库存高企...
中国超大规模市场优势持续显现(... 消费者在海南海口日月广场免税店购物。新华社记者 郭程摄 消费者在四川省乐山市市中区一家品牌销售店内...
特朗普称提高对韩国多种商品关税... 大象新闻2026-01-27 08:33:09 当地时间1月26日,美国总统特朗普在其社交平台“真...
贾国龙,告别“爹味”人设 “爹味很重。”贾国龙用这四个字总结了自己过去精心打造的个人IP。 据上海证券报1月25日报道,西贝餐...
2025年关注营销结果:上海按... 2025关注营销结果:上海按效果付费的营销型网站建设公司模式探讨进入2025年,企业的线上门户已彻底...
拟豪掷超122亿元成为彪马最大... 每经编辑|杜宇 1月27日,安踏体育(HK2020)公告称,公司与彪马大股东Artémis订立购股...
2025年成都投资规模持续扩大... 「 本期导读 」 一周数读:成都168个项目入围年度省重点项目名单,总投资近1.3万亿元 产业园区动...
ETF盘中资讯|上海电力领跌超... 27日早盘,A股普遍回调,电力板块走弱,成份股全线飘绿。其中,嘉泽新能领跌5%,上海电力、协鑫能科、...