2010-11-13 33 views
0

我正在構建一個可用作OAuth 2.0提供者的服務。我希望能夠限制用戶對特定用戶同時授權的數量。限制OAuth 2.0中的用戶/消費者組合的同時授權

例如,消費者應用程序的每個用戶應該只能夠擁有針對該消費者的三個同時授權,並且因此僅能夠同時使用三個客戶端。當他們嘗試第四次授權時,它應該提示用戶在可以繼續之前刪除現有客戶端的授權。

在我有限的OAuth體驗中,消費者應用程序的令牌對於用戶和消費者組合總是相同的,因此無法撤銷對特定客戶端的訪問 - 僅限於消費者。

OAuth 2.0中是否有任何規定使得該組合的客戶端標識符成爲其中的一部分,從而成爲令牌的一部分?由於User-Agent流程,我對OAuth 2.0特別感興趣。

或者我完全吠叫錯誤的樹,我應該看看在OAuth之上鋪設不同的系統嗎?

回答

1

您似乎可以生成特定於授權的訪問令牌,並且包含有關每個客戶端/授權實例每個都在令牌本身(編碼形式-1等)上引用的元數據或您的應用中的每個訪問令牌是獨特的)。事實上,這樣做可能被認爲是對大多數提供者實現的改進,因爲可以更容易地識別單個客戶端(對於濫用等)。

令牌不需要採用任何特定的格式,因此您可以隨意使用盡可能多的或儘可能少的語義信息來重載它們,並使您的UI和UX匹配。

+0

感謝塞思 - 這聽起來像一個很好的方法。 – tomtaylor 2010-11-15 08:30:50