【问题标题】:GitHub API Authentication for GraphQL: How do I publish my app publicly if it needs authentication?GraphQL 的 GitHub API 身份验证:如果需要身份验证,我如何公开发布我的应用程序?
【发布时间】:2019-12-29 17:37:10
【问题描述】:

根据 GitHub V4 API,使用 GraphQL 需要身份验证。 GitHub API V4 文档声明如下:

警告:将您的令牌视为密码并对其保密。使用 API 时,请使用令牌作为环境变量,而不是将它们硬编码到您的程序中。

这是可以理解的。但是,我想在 GitHub 上发布我的源代码并将应用程序托管在 GitHub Pages 上。

问题:如果我将身份验证令牌设置为环境变量,实际应用本身在发布后如何能够使用 GraphQL 进行身份验证?不会坏吗?

【问题讨论】:

  • “在 GitHub Pages 上托管应用程序”是什么意思? AFAIK Github Pages 仅托管静态文件。没有要设置的环境变量。都是Javascript吗?
  • 哎呀,是的,我是个菜鸟。到目前为止,我所托管的一个静态站点/简历/博客。我正在开发一个纯 Typescript 的 React 项目,并希望在 GH Pages 上发布它会很容易。
  • 当然,您可以推送任何您喜欢的 HTML、CSS 和 Javascript;它们只是文件,它们由浏览器执行。但它没有身份验证令牌。使用OAuth

标签: api github graphql


【解决方案1】:

如果您使用的是服务器端代码,请设置环境变量并完成它。

如果您使用的是 GitHub Pages,you can't host a server-side app

GitHub Pages 是一种静态站点托管服务,旨在直接从 GitHub 存储库托管您的个人、组织或项目页面。

GitHub Pages 是一种静态站点托管服务,不支持 PHP、Ruby 或 Python 等服务器端代码。

仅适用于静态文件:HTML、CSS、Javascript。这些在浏览器中执行。没有要设置的环境变量。没有地方可以向用户隐藏秘密。

相反,将其构建为OAuth App。 OAuth 允许用户授权您的网站使用他们的帐户访问 Github API。这就是 Github 自己的 GraphQL API Exporer 的工作原理。

【讨论】:

    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多