我从哪里获得公钥来验证 GitHub 的访问令牌?

Posted

技术标签:

【中文标题】我从哪里获得公钥来验证 GitHub 的访问令牌?【英文标题】:Where do I get Public Key to validate GitHub's access token? 【发布时间】:2021-11-30 21:58:44 【问题描述】:

参考以下链接:

https://docs.github.com/en/developers/apps/building-oauth-apps/authorizing-oauth-apps

在“您的应用使用用户的访问令牌访问 API”。我在哪里可以获得 GitHub 的公钥来验证访问令牌。

我知道有一个 API 可以验证访问令牌。但出于另一个原因,我需要一个公钥来验证访问令牌。

【问题讨论】:

【参考方案1】:

GitHub 访问令牌通常不是非对称的,因此没有公钥来验证它们。 (在某些情况下 GitHub 使用 JWT,或者至少使用过,但这不是典型情况。)

新格式的 GitHub 令牌包含一个前缀、一个由 CSPRNG 生成的随机部分,最后是一个 CRC。这记录在on GitHub's blog。因此,令牌本身就是秘密,除了随机组件之外不包含任何实际有效负载。

【讨论】:

以上是关于我从哪里获得公钥来验证 GitHub 的访问令牌?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jwt 公钥在 Spring Boot 中验证承载访问令牌

jwt.io 从哪里获取 JWT 令牌的公钥?

如何为OAuth2 JWT验证共享公钥?

如何获取访问令牌

jwt访问令牌存储在spring boot中的哪里?

我可以存储 Apple 的公钥来验证令牌签名吗?