我正在努力實現OAuth 2.0服務器,並且在閱讀RFC6749規範時,我意識到有關「刷新訪問令牌」的section 6 on Page 47。解釋我們需要使用刷新令牌來獲得新的令牌。我應該使用OAuth 2.0中的刷新令牌發送祕密
但是,例如,除了刷新令牌之外,Google還需要用戶ID和密碼才能這樣做。
這使我很困惑,因爲一方面我們有Google每天處理大量請求的情況,而且我們有一個可能寫入規範的規範,可能在考慮範圍較小的情況下。
每個小時都用Refresh Token發送祕密是否好?
就我個人而言,我認爲不可以:因爲User ID和Secret只能用於整個OAuth 2.0流程。
基本上
- 您使用對每個請求令牌來證明你是你是誰。
- 刷新令牌每小時只能使用一次(並且在每次刷新時可能會更改)
- 祕密和用戶ID儘可能少地上網。只有當選項1和2受到損害時。
我個人認爲發送帶有刷新令牌的祕密不太安全。但也許我錯過了一些東西。
如果你有另一種觀點,請分享:)
謝謝你的解釋是有道理的。我想在討論中稍微深入一點。例如:當我提出這個問題時,我假設沒有SSL,並不是因爲我不想使用它,而是因爲現在要做一箇中間人攻擊和制動一個SSL更容易,因此即使我使用SSL,我也認爲我的連接是以明文方式發送的。因此想盡可能少地發送祕密。你認爲這是一個有效的擔憂嗎? –
我同意你不應該將TLS看作一個銀色的子彈,但假設它與未加密的HTTP一樣的前提也是錯誤的。通過這種邏輯,您將很難使用OAuth 2.0,因爲TLS的使用是必須具備的要求。 –
合理。感謝您的時間 。 –