兩個不同的Token
OAuth2 中主要有兩個不同的Token, 其中的區別為是否與用戶相關聯, 即與用戶相關的用戶Token, 和與客戶端相關的客戶端Token,
可以通過用戶Token, 查詢到用戶的相關信息, 客戶端Token與用戶無關, 一般只用于客戶端認證
用戶Token
獲取用戶Token一般有兩個方式, 授權碼模式和密碼模式
授權碼模式
授權碼模式通過跳轉到授權中心來獲取token
- 跳轉到認證服務器
- 認證服務器需要用戶登錄
- 用戶選擇是否授權
- 授權同意后, 自動跳轉回原來的頁面, 客戶端拿到授權碼
- 客戶端憑借授權碼, 在服務器上通過接口向認證服務器申請令牌
密碼模式
密碼模式通過接口直接申請到Token
該接口需要幾個參數, client_id, client_secret, grant_type, username, password
{"client_id": "客戶端ID","client_secret": "客戶端密碼","grant_type": "授權模式, 此外為 password","username": "用戶名","password": "用戶密碼"
}
客戶端Token
通過客戶端ID和客戶端密碼來獲取Token
該Token與客戶端相關, 與用于無關, 只用于客戶端認證, 避免了接口泄露和濫用