oauth2.0 java_OAuth2.0授权码模式

OAuth2.0简单说就是一种授权的协议,OAuth2.0在客户端与服务提供商之间,设置了一个授权层(authorization layer)。客户端不能直接登录服务提供商,只能登录授权层,以此将用户与客户端区分开来。然后客户端在登录时候不使用账号密码,而是使用会自动过期的令牌token

定义比较难理解,可以举个例子,假如我们要登录豆瓣网,可以你是没账号的,又不想注册,然后这时候可以用QQ登录,登录时候会转跳到QQ登录页面,这个就是QQ就是一个认证服务器,豆瓣是服务提供商,也可以说是资源服务器

78ad0e348628cb76f8b91efd5ca84ad7.png

(A)打开客户端,重定向,请求给予授权。

(B)用户开始给予客户端授权

(C)客户端使用获得的授权,向认证服务器申请令牌。

(D)客户端拿授权码去认证服务器认证,确认提供同意发放令牌。

(E)认证通过,客户端使用令牌,向资源服务器申请获取资源。

(F)资源服务器确认令牌无误,同意向客户端开放资源。

OAuth2.0授权方式:

授权码模式(authorization code)

简化模式(implicit)

密码模式(resource owner password credentials)

客户端模式(client credentials)

一般认证授权过程需要的参数:

response_type:授权类型,必选项

client_id:客户端的ID,必选项

redirect_uri:重定向URI,可选项

scope:申请的权限范围,可选项

state:客户端的当前状态,可以指定任意值,认证服务器会原封不动地返回这个值

其实总结一下,Oauth2.0用授权码方式,无非就是用户访问客户端就直接重定向到认证服务器,然后输入账号密码等等通过验证后,认证服务器会重定向到redirect_uri并将授权码附在url上,然后再拿授权码去认证,认证通过发放令牌,登录成功

参考资料:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值