为什么 WSO2 在使用 OAuth2 内省令牌时需要租户用户名/密码?
Why does WSO2 require a tenant username / password when introspecting tokens using OAuth2?
过去几天我一直在使用 OAuth2,我相信我已经基本弄明白了,并且我的代码运行得相当好。我觉得奇怪的是 WSO2 不允许您使用 client_id / client_secret 授权 OAuth2 令牌自省。是否有不允许这样做的原因?
我对 OAuth2 的理解是,您应该向授权服务器注册您的客户端(在 WSO2 下注册为服务提供商)。这使客户端能够通过服务器识别自己。租户用户有什么特别之处,还必须提供它来检查令牌?其他OAuth2系统没有这个要求。
我认为这是他们的设计之一 decisions.Going 通过 token introspection 文档,我认为他们想要的是使内省独立于客户端。这样任何其他知道最终用户(驻留在租户中)凭据的应用程序都可以内省令牌以进行验证。我认为有这种需求的用例。
无论如何,RFC7662 - Token introspection 不强制实施使用客户端凭据。选择方法由实施者决定。但是,是的,它确实提到了客户端凭证和 Bearer 令牌。
To prevent token scanning attacks, the endpoint MUST also require
some form of authorization to access this endpoint, such as client
authentication as described in OAuth 2.0 [RFC6749] or a separate
OAuth 2.0 access token such as the bearer token described in OAuth
2.0 Bearer Token Usage [RFC6750]. The methods of managing and
validating these authentication credentials are out of scope of this
specification.
过去几天我一直在使用 OAuth2,我相信我已经基本弄明白了,并且我的代码运行得相当好。我觉得奇怪的是 WSO2 不允许您使用 client_id / client_secret 授权 OAuth2 令牌自省。是否有不允许这样做的原因?
我对 OAuth2 的理解是,您应该向授权服务器注册您的客户端(在 WSO2 下注册为服务提供商)。这使客户端能够通过服务器识别自己。租户用户有什么特别之处,还必须提供它来检查令牌?其他OAuth2系统没有这个要求。
我认为这是他们的设计之一 decisions.Going 通过 token introspection 文档,我认为他们想要的是使内省独立于客户端。这样任何其他知道最终用户(驻留在租户中)凭据的应用程序都可以内省令牌以进行验证。我认为有这种需求的用例。
无论如何,RFC7662 - Token introspection 不强制实施使用客户端凭据。选择方法由实施者决定。但是,是的,它确实提到了客户端凭证和 Bearer 令牌。
To prevent token scanning attacks, the endpoint MUST also require some form of authorization to access this endpoint, such as client authentication as described in OAuth 2.0 [RFC6749] or a separate OAuth 2.0 access token such as the bearer token described in OAuth 2.0 Bearer Token Usage [RFC6750]. The methods of managing and validating these authentication credentials are out of scope of this specification.