- OAuth 2實戰寶典
- 糜鵬程編著
- 714字
- 2024-01-18 11:43:21
1.2.3 授信客戶端密碼模式
1.授權請求示例
授信客戶端密碼(Password Credentials Grant)模式一般用于共享用戶賬號體系的第三方應用進行授權的場景。例如,母公司和子公司所開發的第三方應用共享用戶賬號體系。在該模式下,用戶在第三方應用中輸入用戶名和密碼后,第三方應用會直接使用用戶名和密碼信息獲取授權信息。
步驟1 用戶直接在第三方應用登錄,第三方應用在獲取用戶的用戶名和密碼后,創建如示例1.8所示的獲取授權信息請求,從而獲取access_token。

示例1.8 獲取授權信息請求
示例1.8中各參數的含義如下。
? client_id:第三方應用在開放平臺注冊完成后獲取的唯一標識。
? client_secret:第三方應用在開放平臺注冊完成后獲取的密碼。
? username:用戶的用戶名。
? password:用戶的密碼。
? grant_type:OAuth 2規定在授信客戶端密碼模式下,該字段的值為password,授權系統會根據該字段進行必要參數的校驗,并在校驗通過后執行該場景下的授權流程。
步驟2 授權系統在收到如示例1.8所示的請求后,會在系統的后端通道中調用認證服務器進行用戶認證,并在認證成功后直接返回如示例1.6所示的授權信息。
2.系統交互流程
圖1-3所示為授信客戶端密碼模式的授權流程。

圖1-3 授信客戶端密碼模式的授權流程
步驟1 用戶訪問第三方應用,并輸入用戶名和密碼。
步驟2 第三方應用從后臺向授權系統發起授權請求。
步驟3 授權系統通過后臺接口(一般是內部的RPC接口)驗證用戶信息。
步驟4 認證系統校驗成功后會返回用戶的相關信息。
步驟5 授權系統向第三方應用返回access_token信息。
經驗
授信客戶端密碼模式會將用戶的認證信息(用戶名和密碼)直接暴露給第三方應用,這意味著開放平臺必須對該第三方應用完全信任,同時第三方應用需要有能力保障用戶的信息安全。所以在實際工作中,該模式的使用場景一般為信任的第三方應用(包括子公司、KA客戶等),應用場景較少。
- INSTANT Mock Testing with PowerMock
- Python編程自學手冊
- 深入實踐Spring Boot
- JavaScript Unlocked
- Python機器學習算法與實戰
- 青少年信息學競賽
- RealSenseTM互動開發實戰
- RESTful Java Web Services(Second Edition)
- .NET 4.0面向對象編程漫談:應用篇
- 數據科學中的實用統計學(第2版)
- Raspberry Pi Robotic Projects
- Slick2D Game Development
- HTML5 Boilerplate Web Development
- Unity3D游戲開發標準教程
- HTML5+CSS3從入門到精通(微課精編版)