我可以在没有后端服务器的情况下通过 Chrome 扩展程序的 Github 帐户对用户进行身份验证吗?

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

我正在编写一个 Chrome 扩展^,并希望允许用户通过其 Github 帐户进行身份验证(针对开发人员)。我不想仅仅为了身份验证而设置后端服务器,因为所有功能都可以在浏览器中离线完美运行。

我做了一些研究。似乎有两种选择可以在没有您自己的后端服务器的情况下实现OAuth:

  1. 隐式授予,github不支持
  2. 使用一些其他服务(例如Auth0)

我的问题是:

  1. 我可以在没有任何后端服务器的情况下通过用户的 Github 帐户对用户进行身份验证吗?
  2. 如果必须的话,身份验证流程是什么样的?

^ 没有身份验证功能的工具可以在这里找到。

github google-chrome-extension oauth github-api
2个回答
3
投票

我将根据我的研究回答我自己的问题。如果我的回答有误,请纠正我。

我可以在没有任何后端服务器的情况下通过用户的 Github 帐户对用户进行身份验证吗?

简短的回答是肯定的。但你可能不想这样做。这是因为在第二步中,您需要通过

client_secret
POST
发送回Github。通常,由于常规网页的
同源政策
,您无法 POST 到 Github.com扩展并没有那么有限。出于安全原因,您不想将
client_secret
放入 JavaScript 中。

如果必须的话,身份验证流程是什么样的?

  1. 用户被重定向以请求他们的 Github 身份。
  2. Github 将用户重定向回您的网站,并带有临时
    code
  3. 您的应用程序(更可能是后端或本机应用程序,但前端不是 JavaScript)
    POST
    ,带有
    client_id
    client_secret
    code
  4. Github 在回复中包含
    access_toke
  5. 您的应用程序使用用户的访问令牌访问 API。

0
投票

一个问题,当你将应用程序作为解压资源加载到 Chrome 中后,你是如何让它工作的?因为,我的所有功能都可以在本地完美运行,但不能一次解压到 chrome 上的扩展文件夹中

© www.soinside.com 2019 - 2024. All rights reserved.