auth2的那些事
1:auth2 有四种认证方式
1、授权码模式:第三方Web服务器端应用与第三方原生App
2、简化模式:第三方单页面应用
3、密码模式:第一方单页应用与第一方原生App
4、客户端模式:没有用户参与的,完全信任的服务器端服务
### 获取code
http://localhost:8765/uaa/oauth/authorize?client_id=admin&client_secret=admin&response_type=code&scope=read&redirect_uri=http://www.baidu.com
### 根据code获取token
http://localhost:8765/uaa/oauth/obtain/token?code=8Lfxa7&grant_type=authorization_code&client_id=admin&redirect_uri=http://www.baidu.com
### 根据token 获取资源
http://localhost:8765/uaa/oauth2/user?access_token=
密码模式 获取token
http://localhost:8769/uaa/oauth/token
grant_type:password
client_id:house
client_secret:house
username:admin
password:admin
根据refre_token获取token
client_id:house
client_secret:house
grant_type:refresh_token
refresh_token:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiaG91c2UiXSwidXNlcl90eXBlIjoicmVnaXN0ZXIiLCJ1c2VyX2lkIjoiMTU0NTE5ODQ1ODgxNSIsInVzZXJfbmFtZSI6ImFkbWluIiwic2NvcGUiOlsicmVhZCIsInNuc2FwaV91c2VyaW5mbyJdLCJhdGkiOiIwYjMyODBjZi03MjRhLTQ1YjktYjJhYi0yMmI0ZmI2Mzc2YTciLCJleHAiOjE1NTA3MjgzMjcsImF1dGhvcml0aWVzIjpbImFkbWluIl0sImp0aSI6IjljMjExNGZiLTNmNTktNDU2OS1hNmJkLTFkMDNkMDM4MDBhMCIsImNsaWVudF9pZCI6ImhvdXNlIn0.FpoPZfdsLsAidLihgR93b9lvdNqlVzlP27zBFcnZ433OenActsioj2EwZpqQxHHcPU3w2cWISgQpEt4DBvs0d9qrOfUD565IpPICZU8gyZTQFJxJzBI-Dx8g_rpCfUYxCq4tQI2m7IBnOQO1AL5yAxMKn9L68ZZE7m5ZAb8gcGmR9WCAqJCU6e2QgkmBUoO17khF9P27hzg4_lxP1LmSzlMk4zvL95miSZizVpsXtMrOwzqifFavulI8JPI3Jnnw8FzXfJBVv_rzFxy5NX7zjP9EFziz_r9URopTFXA8Pz2xTI4gz98dh9CCJMHCR7-CMs7Gn29Uvj5L_mJclQPrYA
注意这里一定要开启 endpoints.reuseRefreshTokens(false); 否则,刷新后的refresh_token 怎不能二次使用,这样设置的话,则可以使token“永不过期” 这里的“永不过期”指的是,token设置成2小时,refresh_token 设置成7天,
则在7天内,访问页面(假设token存在客户端的cookie里),当token过期后,通过refresh_token 获取新的token和refresh_token 替换客户端的cookie里的token和refresh_token,这样就达到了,“永不过期的目的”,短暂的token生存周期,
又可以使网站相对的安全。然而有一种情况。当7天之内,用户都没有访问网站,这时的token已经过期了,refresh_token 也过期了,那对于这种情况,不好意思,登录去吧