Nat*_*les 12 github github-api openid-connect
我正在尝试使用 GitHub 帐户和 OpenID Connect 实现社交登录,但我无法弄清楚我应该使用哪些 GitHub 端点:
...取回 ID 令牌,或者如果我已经拥有正确的端点但参数错误。
我一直在遵循/调整本指南来使用 OpenID Connect(使用 Google 作为身份提供者而不是 GitHub)实现社交登录,并参考“OAuth 2.0 Web 应用程序流程” GitHub 文档页面来尝试了解我需要如何调整该指南以使用 GitHub(即我需要使用哪些 GitHub 端点和参数)。
当我将授权代码发布到https://github.com/login/oauth/access_token(GitHub 文档中指定的 URL)时,我取回访问令牌和刷新令牌,但没有 ID 令牌。我怀疑这是因为 GitHub 文档页面旨在用于实现普通(非 OpenID Connect)OAuth 2.0 流程。
我做了很多谷歌搜索,发现PragmaticWebSecurity.com 上的这些 2019 年幻灯片说我需要最初将用户重定向到不同的端点(https://github.com/openid-connect/auth而不是https://github.com/login/oauth/authorize,请参阅幻灯片 29),但当我尝试这样做时,我收到 404 错误来自 GitHub。我尝试向创建这些幻灯片的人发送电子邮件,询问端点是否已更改,但他没有回复我。
以下是我对问题答案的猜测:
https://github.com/login/oauth/access_token),但缺少一些取回 ID 令牌所需的参数。我联系了 GitHub 支持并得到了官方回复:他们的 API 不支持 OpenID Connect 进行社交登录。
以下是他们的完整回应:
嗨内森,
感谢您伸出援手!
GitHub OAuth 流程当前不支持 OpenID 连接功能。您需要使用 OAuth 2.0
https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps
问候,
Oluwaseun GitHub 支持
因此,在他们添加对 OpenID Connect 的支持之前,您可以参考我写的关于如何使用 OAuth 2.0 实现社交登录的文章:
| 归档时间: |
|
| 查看次数: |
2626 次 |
| 最近记录: |