参考:https://www.cnblogs.com/haoxianrui/p/13719356.html?share_token=35c0a6b8-bd21-426e-954f-89d92eaed31f
https://www.cnblogs.com/haoxianrui/p/13740264.html
Spring Cloud Gateway + Spring Security OAuth2 + JWT实现微服务统一认证鉴
Spring Cloud实战 | 最七篇:Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案
1. 什么是OAuth2?
OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据。
-- 【阮一峰】OAuth 2.0 的一个简单解释
QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权。 -- 【QQ登录】OAuth2.0开发文档
从上面定义可以理解OAuth2是一个授权协议,并且广泛流行的应用。
下面通过“有道云笔记”通过“QQ授权登录”的案例来分析QQ的OAuth2平台的具体实现。
流程关联OAuth2的角色关联如下:
(1)第三方应用程序(Third-party Application):案例中的"有道云笔记"客户端。 (2)认证服务器(Authorization Server):服务提供商专门用来处理认证的服务器。案例中QQ提供的认证授权。 (3)资源服务器(Resource server):即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。 这里指客户端拿到access_token要去访问资源对象的服务器,对应“有道云笔记”服务。