【问题标题】:OpenID Connect Configuration for FacebookFacebook 的 OpenID Connect 配置
【发布时间】:2014-08-15 15:09:38
【问题描述】:

Google 在https://accounts.google.com/.well-known/openid-configuration 实现了OpenID Discovery Spec,它允许开发人员和用户找到 OpenID 身份验证所需的 URL 和密钥。

我想知道 Facebook 和可能的其他(例如 Microsoft Live)等价物是什么,以便我可以以标准方式使用 Facebook 和其他。

SalesForce 也有一个发现 URL https://login.salesforce.com/.well-known/openid-configuration

【问题讨论】:

标签: facebook oauth-2.0 openid openid-connect


【解决方案1】:

【讨论】:

  • 赞成,因为原始答案已过时,而且 Facebook 已转向 OpenID 标准。
  • 令人讨厌的是,它并没有非常严格地遵守 OpenID 标准。例如,“response_mode”无效。祝你好运,使用隐式流以外的任何东西。
  • 这里没有令牌端点,所以看起来 Facebook 不支持 OpenID Connect(至少不完全支持)
  • 查看 Facebook 的文档,端点是他们所谓的“limited login”,似乎有一些限制。
【解决方案2】:

Facebook 的登录机制/协议不是基于 OpenID Connect。 Facebook 使用 OAuth 2.0 的专有扩展,但它不是 OpenID Connect 指定的标准化扩展。因此,与遵守标准的 Google 和 Salesforce 不同,期望 Facebook 发布 OpenID Connect Discovery 文档是没有意义的。

【讨论】:

  • twitter 也是这样吗?
  • 是的,对于 GitHub。不知道为什么他们没有实现如此简单但有用的 API
【解决方案3】:

这是 Microsoft Azure AD 的 OpenID Connect 发现 URL:
https://login.windows.net/common/.well-known/openid-configuration

More information here.

【讨论】:

  • 发行人有一个占位符“{tennantid}”有点奇怪
  • 嗯,他们需要 response_mode,根据规范,它是可选的,很有趣。但让我看看那个价值是什么。
  • response_mode 条目不需要客户端上的任何内容;它只是说服务器支持所有可能的响应模式
  • 来自信息response_mode [必填] 表示响应的编码。支持的值为 fragment(URL 片段)和 form_post(HTTP 表单 POST)。
  • 对不起,我误解了:我以为您指的是 Discovery 文档中的(也是可选的)条目;似乎确实必须由与 MS Provider 交谈的客户提供此选项
猜你喜欢
  • 1970-01-01
  • 2019-09-13
  • 2020-02-08
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 2016-09-17
  • 2017-03-06
相关资源
最近更新 更多