2012-07-23 11 views
1

OAuth 2.0 v30定義了expires_in來指定在令牌過期之前的客戶端時間。如果您對客戶要求的所有範圍有單個持續時間,則這種方法很有效。當有多種類型的示波器時:例如離線 - 在線(例如,如果您願意,可以短期生活或長期生活)OAuth提供商返回的過期時間?expirers_in和多個作用域類型

回答

-1

用戶授予客戶端代表他在某些範圍內訪問資源的權限。這個許可基本上被授予所有範圍的無限時間(因爲他對提供者處理方式沒有影響),至少在用戶手動撤銷提供者方面的權限之前。如果他只撤銷部分示波器,則當前發行的access_token將失效,客戶必須使用refresh_token請求新的(其範圍有限)。

過期令牌的原因是,當它們被盜時,攻擊者只能在有限的時間內訪問。因此,您設置爲提供商的時間應該取決於您信任客戶的程度,如果他可以保留代幣的祕密而不是範圍。

+0

要麼我寫錯了,要麼就是我沒有打算這樣寫。正如所寫的,假設您無法在客戶端請求的憑證類型(它是第三方代表用戶訪問受保護的資源)之間做出選擇。所以這個問題更具技術性:包含解釋或建議仔細選擇返回的時間:長/短/有些混合。 – 2012-07-23 23:01:49

+0

對不起,那我還是不明白。我對你的問題的理解是這樣的:你有不同的範圍,取決於客戶端(第三方)請求的範圍,你想返回不同的'expires_in'值。所以我試着向你解釋,爲什麼恕我直言,沒有理由讓expires_in依賴於範圍,因爲所有範圍都是由用戶授予無限時間的。如果這不是你所要求的,你可以嘗試用其他語言來描述還是更詳細些? – 2012-07-24 09:34:56