[英]Oauth2 & Laravel - `Client_id` & `Client_secret` - where to place, store, call?
[英]Resource Owner grant type requiring client_id and client_secret in yii2-oauth2-server
為什么密碼grant_type必須提供客戶端憑據(在此實現中)??? oauth2資源所有者規范只需要
{
"grant_type" : "password",
"username" : "some_user_name",
"password" : "some_password"
}
此實現還要求client_id和client_secret與此請求一起發送以成功。
我只是想知道我是否遺漏了什么
我想授予從SPA到受保護資源的訪問權限。 在瀏覽器源代碼中公開客戶端憑據具有潛在的危險性。
此外, https://bshaffer.github.io/oauth2-server-php-docs/overview/grant-types/上的原始庫不會強制資源所有者授予類型中的客戶端憑據
更新1 13-12-2016
在原始圖書館閱讀時,我發現他們有“公共客戶”概念(即沒有client_secret的客戶端)。
使用公共客戶端,我可以從請求中省略client_secret。 無論如何,我再次閱讀資源所有者規范,並沒有提到它。
這樣,必須以這種方式執行資源所有者令牌請求(非標准)
{
"grant_type" : "password",
"username" : "some_user_name",
"password" : "some_password"
"cliend_id" : "some_client_id"
}
再見
謝謝
出於參考目的,OAuth2規范確實滿足了這樣的情況:即使客戶端身份驗證無法完成,沒有機密的客戶端仍然可以在請求正文中傳遞client_id
參數。 在2.3.1節中,您有:
(...)授權服務器可以使用以下參數支持在請求體中包含客戶端憑證:
CLIENT_ID
需要。 在第2.2節描述的注冊過程中發給客戶端的客戶端標識符。client_secret
需要。 客戶的秘密。 如果客戶端密鑰是空字符串,則客戶端可以省略該參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.