Oauth2(2)客戶端註冊
在初始化協議之前,客戶端在授權伺服器註冊。典型的包括終端使用者與html登錄檔單的互動。
客戶端註冊並不需要客戶端和授權伺服器的直接互動。在授權伺服器支援時,註冊可以依靠其他方式建立信任並獲得所需的客戶端屬性(例如重定向URI,客戶端型別)。例如,註冊可以使用自發行或第三方發行宣告或通過授權伺服器使用信任通道執行客戶端發現完成。
在註冊客戶端時,客戶端開發者應該:
- 指定客戶端型別
- 提供客戶端重定向URI
- 包含其他授權伺服器所需的資訊,例如應用名,網頁,描述,logo等
客戶端型別
基於與授權伺服器進行安全驗證的能力定義了兩種型別(是否能維持憑據的機密性)
- 機密客戶端
- 公開客戶端
客戶端標識
授權伺服器向註冊客戶端頒發一個代表了客戶端提供的註冊資訊的獨特字串作為標識。該標識是公開的,暴露給資源擁有者並且不能被單獨用於客戶端認證。
客戶端標識的字串大小併為被規範定義。客戶端應避免對標識的大小做出假定。授權伺服器應該記錄標識的長度。
客戶端驗證
如果客戶端型別是機密的,客戶端和授權伺服器建立一個合適的客戶端認證方法用於授權伺服器的安全性需求。授權伺服器可能接受滿足安全性需求的任何形式的客戶端驗證。
機密客戶端典型的建立一系列客戶端憑據用於授權伺服器進行身份驗證(密碼,公鑰,私鑰)。
授權伺服器可能建立一個對公開客戶端的驗證方法。但是授權伺服器一定不能依賴公開客戶端驗證達到識別客戶端的目的。
每次請求不能使用一個以上的驗證方法。
1.客戶端密碼
擁有客戶端密碼的客戶端可能使用HTTP基本認證來與授權伺服器進認證。
授權伺服器可能支援在請求體中包含客戶端憑據,引數包括client_id和client_secret。但並不推薦在請求提中使用這兩個引數包含客戶端憑據,應該限於不能直接採用HTTP基本身份驗證方案的客戶端,並且只能包含在請求體中。
2.其他驗證方法
授權伺服器可以支援任何與其安全要求匹配的合適的HTTP身份驗證方案。當使用其他身份驗證方法時,授權伺服器必須定義客戶端標識(註冊記錄)和認證方案之間的對映。
未註冊客戶端
該規範並沒有排除對未註冊客戶端的使用。但是需要做額外的安全性分析並審查互操作性的影響。
相關文章
- Nacos - 客戶端註冊客戶端
- 註冊客戶端事件客戶端事件
- 這些OAuth2客戶端的認證方式你未必瞭解OAuth客戶端
- 記一次eureka客戶端註冊失敗的問題客戶端
- 強大的Git客戶端:Tower for Mac註冊啟用版Git客戶端Mac
- Spring Security 實戰乾貨:客戶端OAuth2授權請求的Spring客戶端OAuth
- Mailplane for Mac(Gmail郵件客戶端) v 4.3.1註冊啟用版AIMac客戶端
- Eureka客戶端原始碼解析 註冊/心跳/本地重新整理/下線客戶端原始碼
- Proxifier for Mac(socks5全域性代理客戶端)註冊啟用版Mac客戶端
- Spring Security 實戰乾貨:客戶端OAuth2授權請求的入口Spring客戶端OAuth
- PostgreSQL學習手冊(客戶端命令)SQL客戶端
- Tower for Mac(強大的Git客戶端)10.1.1註冊啟用版MacGit客戶端
- Tower for Mac(強大的Git客戶端) v10.1.1註冊版MacGit客戶端
- PostgreSQL學習手冊(客戶端命令<一>)SQL客戶端
- PostgreSQL學習手冊(客戶端命令<二>)SQL客戶端
- Mac電腦 Tower v10.3註冊啟用版 Git客戶端MacGit客戶端
- db2 客戶端安裝DB2客戶端
- Docker v2ray 客戶端Docker客戶端
- webService 客戶端呼叫 axis2Web客戶端
- validation客戶端驗證框架使用手冊客戶端框架
- 強大的Git客戶端:Tower for Mac v10.3註冊啟用版Git客戶端Mac
- Proxifier v3.11註冊啟用版(socks5全域性代理客戶端)客戶端
- [譯] 在 GO 語言中建立你自己的 OAuth2 服務:客戶端憑據授權流程GoOAuth客戶端
- Thrift 客戶端-服務端 零XML配置 註解式配置客戶端服務端XML
- InfluxDB 客戶端基礎操作2UX客戶端
- dubbo客戶端客戶端
- Pulsar客戶端客戶端
- mqtt 客戶端MQQT客戶端
- 在 CentOS6 上安裝 Zabbix3.0 Agent 並開啟客戶端自動註冊CentOS客戶端
- SegWit2x客戶端安裝教程客戶端
- J2EE對客戶端的要求客戶端
- Nacos - 客戶端心跳續約及客戶端總結客戶端
- 物理DataGuard客戶端無縫切換--客戶端TAF 配置客戶端
- 客戶端加解密客戶端解密
- Zookeeper 客戶端 API客戶端API
- java websocket 客戶端JavaWeb客戶端
- 客戶端筆記客戶端筆記
- Redis-客戶端Redis客戶端