【发布时间】:2018-02-03 05:48:24
【问题描述】:
我很困惑,在向授权服务器发送授权请求时,似乎没有标准方法来指定访问令牌的受众。
OAuth2 将访问令牌指定为不透明字符串;规范中只提到了一次“受众”,表示访问令牌可能是“受众限制的”。 许多最近的授权服务器实现似乎都产生了 JWT 访问令牌,并且 JWT 指定了受众 (aud) 声明。
据我所知: - Auth0 使用“观众”参数 - Connect2id 使用“资源”参数 - Identity Server 对“aud”声明使用基于发行者的固定值,并假设范围足够 - 但是,这并不适合所有用例。 - 优秀的“OAuth2 in Action”一书在“aud”声明中展示了一个资源服务器 URI 的示例,但没有说明它来自哪里。
那么,如何以标准方式获取特定受众(资源服务器、API...)的访问令牌?
【问题讨论】:
-
您是正确的,因为 Auth0 选择实施他们的解决方案,使得
audience是与 auth/authz 请求一起发送的参数。您还可以将请求的scope属性也添加到scope参数中 - 例如。scope: read:books- 它没有遵守严格的标准,因为规范不存在。 Auth0 具有 API(资源 API)的概念,其中标识符是客户端可以用作受众值的受众,您可以在该资源 API 上设置特定范围。 -
@Free-Willaert 你是怎么解决这个问题的?您是否在授权请求中使用“受众”来识别资源服务器?
标签: oauth oauth-2.0 jwt access-token