从 Bowser 访问 github api

问题描述 投票:0回答:1

我正在构建一个 Web 应用程序,应该使用 github 来存储内容和构建网站。最近几天,我试图理解 github api 的所有必要部分,并完成 oauth 过程,所以我的服务器上有一个用户令牌。这也是将用户的一些信息存储在我的数据库中的必要条件,但对于大多数东西来说,服务器只是一个代理,所以我更愿意从用户的 Web 浏览器直接向 github 发出请求,以避免不必要的跳转和加载时间。

据我所知,用户访问令牌的有效期约为 8 小时,因此将其存储在浏览器中并不明智,但我找不到任何有关如何获取 JWT 之类的令牌来使用的信息它在浏览器中。我发现的唯一的事情是创建一个应用程序 JWT,但这并不能访问所有内容,如果 github 中发生了某些更改,它应该映射到用户而不是应用程序。

有没有一种安全的方式代表用户向 github 发出请求?

javascript github github-api
1个回答
0
投票

根据 GitHub Oauth 文档,既不支持隐式授权类型,也不支持 PKCE:

不支持隐式授权类型。

目前不支持 PKCE(代码交换证明密钥)参数 code_challenge 和 code_challenge_method。目前不支持 CORS 飞行前请求(选项)。

这意味着您将通过 Web 应用程序流程获得授权代码

很容易找到您可以托管的 GitHub 后端 OAuth2 服务器,它将为您处理流程。

您可能不需要部署自己的服务器。您可以选择使用 SAAS 解决方案来为您完成此操作,例如支持 GitHub 的Auth0。您将需要研究如何配置 Auth0 以将 GitHub 访问令牌返回到您的浏览器。

一旦 Auth0 将 GitHub 访问令牌返回到浏览器,您应该可以直接从浏览器调用 GitHub API。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.