用于OpenID Connect的WWW-Authenticate方案

时间:2015-10-08 23:23:11

标签: oauth-2.0 openid-connect

我正在为OpenID Connect协议编写自己的代码。基本上,我打算通过Objectify库使用Jersey和Google的数据存储在Google App Engine的平台上编写我自己的提供商和相关内容。

我正在实施(访问/刷新)令牌端点,并且我需要处理此客户端身份验证。我只是想知道是否有预设的身份验证方案'如果客户端在注册过程中没有设置client_secret_basic(或者数据存储条目中设置的任何内容),我可以发送的关键字。

对于使用以下方法的失败客户端身份验证,该方案在WWW-Authenticate标头(401)中用作响应:

  • client_secret_basicBasic
  • client_secret_post:???,
  • client_secret_jwt:???,
  • private_key_jwt:???,
  • none:显然没有。

我已经看过一些开源实现,nimbus'和OAuth-Apis',但他们似乎没有处理这个小问题(他们只回应OAuth2 rfc6749#section-5.2.中定义的一般错误响应)

如果没有预定义的关键字,那么我想我必须自己编造。但如果它们存在就会很棒。

1 个答案:

答案 0 :(得分:0)

authoritative list在IANA上。在那里,您可以找到这些工具:

  • 基本
  • 承载者
  • 摘要
  • HOBA
  • 相互
  • 谈判
  • OAuth
  • SCRAM-SHA1
  • SCRAM-SHA-256
  • vapid

其中哪个是client_secret_postclient_secret_jwtprivate_key_jwt?没有。您需要将它们映射到上面注册列表中的一个,或者返回您自己的值。更好的是,您可以将草稿提交给OAuth工作组或OpenID基金会,以使上述IANA注册中心得到更新,以解决这些遗漏的情况。然后,我们都可以互操作:-)