Spring Security OAuth2.0(14):授权码模式 代码已分享至Gitee: https://gitee.com/lengcz/distributed-security01.git授权码模式1资源拥有者打开客户端客户端要求资源拥有者给予授权它将浏览器被重定向到授权服务器重定向时会附加客户端的身份信息。如/uaa/oauth/authorize?client_idc1response_typecodescopeallredirect_urihttp://www.baidu.com参数列表如下client_id: 客户端准入标识response_type: 授权码模式固定为codescope:客户端权限redirect_uri: 跳转uri,当授权码申请成功后会跳转到此地址并在后边带上code参数授权码。(2) 浏览器出现向授权服务器授权页面之后将用户同意授权。如未登录会先跳转到登录页面登录后才会跳转到授权页面。(3) 授权服务器将授权码(AuthorizationCode)转经浏览器发送给client(redirect_uri)。(4)客户端拿着授权码向授权服务器索要访问access_token请求如下/uaa/oauth/token?client_idc1client_secretsecretgrant_typeauthorization_codecodeiL0fx2redirect_urihttp://www.baidu.com参数列表如下client_id:客户端准入标识client_secret: 客户端密钥grant_type: 授权类型填写authorization_code表示授权码模式。code: 授权码就是刚刚获取的授权码注意授权码只使用一次就无效了需要重新申请。redirect_uri:申请授权码时的跳转url一定和申请授权码时用的redirect_uri一致。(5) 授权服务器返回令牌(access_token)这种模式是四种模式中最安全的一种模式。一般用于client是服务器端应用或第三方的原生App调用资源服务的时候。因为在这种模式中access_token不会经过浏览器或移动端的App而是直接从服务端去交换这种就最大限度的减少了令牌泄露的风险。