一、項目目錄
二、測試模式
1、授權碼模式
首先我們需要先獲得授權碼,然後通過授權碼獲得令牌。就跟我們之前說的美團點評招聘微信登陸是一樣的。
(1)資源擁有者打開客戶端,客戶端要求資源擁有者給予授權,它將瀏覽器被重定向到授權服務器,重定向時會 附加客戶端的身份信息。如:
http://localhost:53020/uaa/oauth/authorize?client_id=c1&response_type=code&scope=all&redirect_uri=http://www.baidu.com
client_id:客戶端准入標識。
response_type:授權碼模式固定爲code。
scope:客戶端權限。
redirect_uri:跳轉uri,當授權碼申請成功後會跳轉到此地址,並在後邊帶上code參數(授權碼)
我們輸入後就會出現一個登陸頁面(這個url就像生成的二維碼,只不過我們掃碼之後,登陸的操作就不需要我們做了):
通過我們配置的UserDetailsService從數據庫中查到的,可以參考這個,這個不再贅述:
https://blog.csdn.net/weixin_44588495/article/details/105918081
登陸後(這個像點擊授權登陸一樣):
點擊完授權之後(這個code就是我們拿到的授權碼,在美團那個場景相當於調用了,美團的接口,將授權碼發送給美團):
注意:baidu.com/?code=84c8d5
、
(2)客戶端拿着授權碼向授權服務器索要訪問access_token(申請令牌)
localhost:53020/uaa/oauth/token?client_id=c1&client_secret=secret&grant_type=authorization_code&code=84c8d5&redirect_uri=http://www.baidu.com
上面是令牌,下面是刷新令牌。授權碼模式,我們就測試完了。
2、簡化模式
(1)資源擁有者打開客戶端,客戶端要求資源擁有者給予授權,它將瀏覽器被重定向到授權服務器,重定向時會 附加客戶端的身份信息。如:
localhost:53020/uaa/oauth/authorize?client_id=c1&response_type=token&scope=all&redirect_uri=http://www.baidu.com
參數描述同授權碼模式 ,注意response_type=token,說明是簡化模式.。
(2)瀏覽器出現向授權服務器授權頁面,之後將用戶同意授權。
3、密碼模式
localhost:53020/uaa/oauth/token?client_id=c1&client_secret=secret&grant_type=password&username=zhangsan&password=123
4、客戶端模式
localhost:53020/uaa/oauth/token?client_id=c1&client_secret=secret&grant_type=client_credentials