我正在開發一個oAuth2服務器,我偶然發現了這個問題。oAuth服務器應該向同一個客戶端請求提供相同的accessToken嗎?
讓我們假設在我的令牌被設置爲一個小時內到期的情況。在此時間段內,某些客戶端使用相同的client_id
和相同的redirect_uri
執行了50次隱式驗證。基本上相同的一切。
我是否應該在第一個請求上生成相同的accessToken
直到它到期或者我應該在每個請求上發出新的accessToken
?
發送同樣的好處是,我不會離開客戶的陳舊和未使用的令牌在服務器上,最小化窗口的攻擊者試圖猜測一個有效的令牌。
我知道我應該限速的事情,我這樣做,但在從數千種不同的機器的大僵屍網絡攻擊的情況下,一些限制不會立即生效。
不過,我不知道該解決方案的缺點,這就是爲什麼我來到這裏。這是一個有效的解決方案?
我對你的第三點感到困惑。 OP沒有提及「狀態」參數。我不認爲狀態會作爲參數發送來獲取新的令牌。 –
@KiranShakya客戶端可以自由發送或不發送狀態參數。如果授權服務器將授權請求傳遞給配置的重定向URI,則授權服務器必須發送狀態參數。請參閱https://tools.ietf.org/html/rfc6749#section-4.2.2。所以它是相關的。 – vap78
在第2點有更多的請求,可能會減慢響應時間。如果我錯了,請更正我 – Prageeth