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 也過期了,那對於這種情況,不好意思,登錄去吧