引入OAuth2的主要目的
將來P2P項目考慮到靈活性和可擴展性,也會支持通過第三方授權登錄(例如: QQ,微信等),提高客戶體驗
P2P項目采用前后端分離開發架構,前端有PC端(H5)、有移動端(APP)、還有管理端,包括各個微服務,他們彼此之間都是第三方,這些接入端都需要統一做認證管理
在整個基于OAuth2的認證機制中,獲取令牌是最關鍵的一步,OAuth2一共提供了四種授權(獲取令牌)方式:授權碼模式(Authorization Code)、 隱式授權模式(Implicit)、 密碼模式(Resource Owner Password Credentials)、 客戶端模式(Client Credentials),四種方式均采用不同的執行流程。由于P2P項目目前只使用了密碼模式,所以這里暫時只介紹該模式。
我們只需要往認證服務器上發送請求并傳遞一些參數即可獲得令牌: http://認證服務器/oauth/token?client_id=p2pweb&client_secret=fgsdgrf &grant_type=password&username=zhangsan&password=123456參數列表如下:
-
client_id:客戶端準入標識。服務提供商不可能隨便允許一個客戶端就接入到它的認證服務器,需要提供客戶端標識和秘鑰。
-
client_secret:客戶端秘鑰。
-
grant_type:授權類型,填寫password表示密碼模式
-
username:資源擁有者用戶名。
-
password:資源擁有者密碼。
這種模式十分簡單,但是直接將用戶敏感信息泄漏給了client,因此這就說明這種模式只能用于client是我們自己開發的情況下,即一般用于我們自己開發的第一方原生App或第一方單頁面應用。P2P項目中的各個接入方,都是我們自己開發的項目,所以采用密碼模式沒有問題。
總結
以上是生活随笔為你收集整理的引入OAuth2的主要目的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OAuth2.0认证
- 下一篇: 项目认证需求分析