相关疑难解决方法(0)

如何从 GitHub 的 API 获取 OpenID Connect ID 令牌来实现社交登录?

背景

我正在尝试使用 GitHub 帐户和 OpenID Connect 实现社交登录,但我无法弄清楚我应该使用哪些 GitHub 端点:

  1. 将用户重定向到 和
  2. 将授权码发布到

...取回 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。我尝试向创建这些幻灯片的人发送电子邮件,询问端点是否已更改,但他没有回复我。

以下是我对问题答案的猜测:

  1. GitHub 不支持 OpenID Connect / 无法取回 ID 令牌;我只需使用访问令牌来查询 API,即可获取我需要的有关用户的任何信息。
    • 这可以解释为什么我在 GitHub 的文档中找不到任何有关使用 OpenID Connect 进行社交登录的内容。
  2. 我有正确的端点 ( https://github.com/login/oauth/access_token …

github github-api openid-connect

12
推荐指数
1
解决办法
2626
查看次数

标签 统计

github ×1

github-api ×1

openid-connect ×1