likes
comments
collection
share

OAuth2图文快速入门

作者站长头像
站长
· 阅读数 17

OAuth2是什么?

OAuth 2.0是应用之间彼此访问数据的**授权协议,**其最终的目的是为了给第三方应用颁发一个有时效性的令牌access_token,第三方应用根据这个access_token就可以去获取用户的相关资源。

OAuth2应用场景

1、系统间授权

比如我打开王者荣耀,它要求我用微信或者qq登录,我登录到微信,然后微信重定向回王者,此时王者荣耀就可以拿到我在微信的用户数据了。

OAuth2图文快速入门

2、保证微服务安全

OAuth2图文快速入门

3、企业内部应用认证授权

比如单点登录

OAuth2授权流程

OAuth2图文快速入门

OAuth2相关概念

**令牌:**令牌是OAuth2中的核心组件,它代表了一次授权的结果,表示客户端已经被授予它所请求的权限

客户端:是代表资源拥有者访问受保护资源的软件。简单来说OAuth2授权给谁,谁就是OAuth2的客户端。

资源拥有者:是有权将访问权限授权给客户端的主体。

受保护的资源:是能够通过http服务器进行访问,访问时需要OAuth2下发的令牌(token)。

授权服务器:是一个HTTP服务器,它在OAuth2系统中充当中央组件。授权服务器对资源拥有者和客户端进行身份认证,让资源拥有者向客户端授权、为客户端颁发令牌。

授权范围:表示一组访问受保护资源的权限,它界定了客户端获取的权限范围。

刷新令牌:与访问令牌的不同在于,该令牌不会被发送给受保护资源,它只是为了当访问令牌过期后,客户端不必重新发起授权请求,而是用该令牌向授权服务器请求换取一个新的用于获取受保护资源的访问令牌。

总结

博文到这里可能还是过于抽象,我们从实际生活中举例来更好地理解。

比如小区大门和楼栋有门禁系统,进入需要输入密码或刷卡,我是做电商的,快递员经常需要来取件,如果我把密码告诉快递员他就拥有和我一样的权限了,这样肯定是不好的。如果此时有授权机制,快递员想进来需要得到我的授权,我在家授权后,门禁系统生成一个令牌,快递员得到这个令牌三天或一周之内都可以小区和楼栋。

令牌密码的作用是一样的,都可以进入系统,但是有三点差异。

(1)令牌是短期的,到时间会自动失效,无法修改。密码一般长期有效,我不改它就一直可以用。

(2)令牌可以被撤销,立即失效。以上例而言,我可以随时取消快递员的令牌。密码一般不允许被他人撤销。

(3)令牌有权限范围(scope),比如只能进小区或某个楼栋。密码一般是完整权限。

上面这些设计,保证了令牌既可以让第三方应用获得权限,同时又随时可控,不会危及系统安全。

转载自:https://juejin.cn/post/7226629485369262136
评论
请登录