0

我正在构建一个将充当 OAuth 2.0 提供者的服务。我希望能够限制用户对特定消费者的同时授权数量。

例如,消费者应用程序的每个用户应该只能拥有该消费者的三个同时授权,因此只能同时使用三个客户端。当他们第四次尝试授权时,它应该提示用户删除现有客户端的授权,然后才能继续。

在我有限的 OAuth 经验中,消费者应用程序的令牌对于用户和消费者组合始终是相同的,因此无法撤销对特定客户端的访问 - 只有消费者。

OAuth 2.0 中是否有任何规定可以使客户端标识符成为该组合的一部分,从而成为令牌的一部分?由于用户代理流程,我对 OAuth 2.0 特别感兴趣。

或者我是不是完全找错了树,我应该考虑在 OAuth 之上放置不同的系统吗?

4

1 回答 1

1

似乎您可以生成特定于授权的访问令牌,并在令牌本身(编码形式-1等)或在您的应用程序中(每个访问令牌都是唯一的)包含有关每个客户端/授权实例引用的元数据。事实上,这样做可能被认为是对大多数提供程序实现的改进,因为可以更容易地识别单个客户端(例如滥用等)。

令牌不需要采用任何特定格式,因此您可以根据需要使用尽可能多或尽可能少的语义信息来重载它们,并调整您的 UI 和 UX 以匹配。

于 2010-11-14T23:35:49.673 回答