OAuth 2 0系列教程(八) 授權碼授權

2021-09-23 16:00:21 字數 1277 閱讀 5527

授權碼授權總共由2個請求和2個響應組成。乙個授權請求+響應,和乙個令牌請求+響應。授權請求授權請求被傳送到授權端點以獲取乙個授權碼。這是請求中用到的引數:

response_type

必須。必須被設定到**裡

client_id

必須。當客戶端被註冊時,授權伺服器要標識的客戶端。

redirect_uri

可選。通過客戶端註冊的重定向uri。

scope

可選。請求可能的作用域。

state

可選(推薦的)。任何需要被傳遞到客戶端請求的uri客戶端的狀態。

授權響應授權響應包含了需要用來獲取訪問令牌的授權碼。這是響應包括的引數:

code

必須。授權碼

state

如果出現在請求中,必須包含。如果有的話,和客戶端請求中傳送的state引數一樣。

授權錯誤如果授權期間發生錯誤,兩種情況會發生。 第一種情形是,客戶端沒有被授權或識別。比如,請求中錯誤的重定向uri。這種情況下,授權伺服器沒有必要重定向資源擁有者到重定向uri,而是通知資源擁有者發生了錯誤。 第二種情形是,客戶端被正確地授權了,但是其他某些事情失敗了。這種情況下下面地錯誤響應會被傳送到客戶端,包括在重定向uri中:

error

必須。必須是預先定義的錯誤碼之一。參見規範查查這些錯誤碼及它們的含義。

error_description

可選。一段utf-8編碼的描述錯誤的文字。適用於開發者,而不是終端使用者。

error_uri

可選。 乙個指向包含人類可讀的錯誤資訊網頁的uri。

state

必須。如果出現在授權請求期間,和請求中的state引數一樣。

令牌請求一旦授權碼被獲取到了,客戶端可以用它獲取訪問令牌。這是訪問令牌請求引數:

grant_type

必須。必須被設定到授權碼中。

code

必須。被授權伺服器接收到的授權碼。

redirect_uri

必須。如果請求uri包括在授權請求中,之後必須是相同的。

令牌響應訪問令牌請求的響應是包含訪問令牌及一些更多資訊的json字串:

access_type屬性是授權伺服器分配的訪問令牌。 token_type是被授權伺服器分配的令牌型別。 expires_in屬性是指訪問令牌過多少秒後,就不再有效。訪問令牌過期值是可選的。 refresh_token屬性包含令牌過期後重新整理的令牌。重新整理的令牌用於,一旦響應返回的不再有效時,包含乙個新的訪問令牌。

OAuth2 0 授權碼方式

參考 以某csdn使用某wechat登入為例,模擬場景 授權碼 authorization code 方式,指的是第三方應用先申請乙個授權碼,然後再用該碼獲取令牌。這種方式是最常用的流程,安全性也最高,它適用於那些有後端的 web 應用。授權碼通過前端傳送,令牌則是儲存在後端,而且所有與資源伺服器的...

OAuth 2 0系列教程

作者 jakob jenkov譯者 林浩校對 郭蕾 oauth是openid的乙個補充,但是完全不同的服務。oauth 2.0 是目前比較流行的做法,它率先被google,yahoo,microsoft,facebook等使用。之所以標註為 2.0,是因為最初有乙個1.0協議,但這個1.0協議被弄得...

Oauth2 0授權方式

oauth2.0是一套標準。這個標準解決了這樣的乙個問題。給第三方應用乙個臨時密碼,過期作廢,而且這個密碼的訪問許可權可由我隨時取消。這樣就足夠安全了。這個臨時密碼就是access token。發放access token的方法就多種多樣了,這些方法叫做授權模式。oauth2為我們提供了四種授權方式...