关于对Oauth2研究

本文详细解析了OAuth2的授权码模式和密码模式。授权码模式主要用于第三方登录授权,涉及客户端请求第三方授权、申请令牌和资源服务器授权等步骤。密码模式则直接使用用户凭证申请令牌,适用于信任的客户端。同时,介绍了学成网认证授权的具体流程,包括用户登录、令牌申请、资源服务授权等环节。
摘要由CSDN通过智能技术生成

授权码模式:

多用于第三方登录授权,比如微信登录、Facebook登录等。。

具体步骤:

客户端请求第三方授权

资源拥有者同意给客户端授权

客户端获取授权码,请求认证服务器申请令牌

认证服务器给客户端响应令牌

客户端请求资源服务器的资源

资源服务器返回受保护的资源

细节:

第一步获取授权码

客户端请求携带参数:

client_id:客户端id,和授权配置类中设置的客户端ID一致

response_type:授权码模式固定为code

scop:客户端范围,和授权配置类中设置的scop一致

redirect_uri:跳转uri,当授权码申请成功后会跳转到此地址,并在后边携带code参数(授权码)

进行登录认证、资源服务器同意授权、跳转uri携带授权码

第二步申请令牌

拿到授权码后申请令牌。

security框架提供申请令牌的接口,访问获取令牌

请求地址:http://localhost:40400/auth/oauth/token(ip和端口根据你项目启动而定)

参数如下:

grant_type:授权类型,填写authorization_code,表示授权码模式

code:授权码(就是刚才认证成功后获取的授权码,授权码使用一次就无效了需要重新认证)

redirect_uri申请授权码时候跳转的url,一定和申请授权码时用的一样

请求头中需要http basic认证。

(认证的目的是为了区分是哪个客户端。认证规则:将客户端id和客户端密码按照“客户端ID:客户端密码”的格式拼接,并用base64编码,放在header中请求服务端)

客户端Id和客户端密码会匹配数据库oauth_client_details表中的客户端id及客户端密码。

返回结果详解:

access_token:访问令牌,携带此令牌访问资源
token_type:有MAC Token与Bearer Token两种类型,两种的校验算法不同,RFC 6750建议Oauth2采用 Bearer
Token(http://www.rfcreader.com/#rfc6750)。
refresh_token:刷新令牌,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值