我可以通过他们的Github帐户从Chrome扩展程序验证用户而无需后端服务器吗?

时间:2017-10-26 22:41:14

标签: github google-chrome-extension oauth github-api

我正在撰写Chrome扩展程序^并希望允许用户通过其Github帐户进行身份验证(定位开发人员)。我不想仅仅为了身份验证而设置后端服务器,因为所有功能在浏览器中完全脱机工作。

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

  1. 隐式拨款,github does not support
  2. 使用其他一些服务(例如Auth0)
  3. 我的问题是:

    1. 我可以通过他们的Github帐户验证用户而无需任何后端服务器吗?
    2. 如果我需要认证流程是什么样的?
    3. ^可以找到没有身份验证功能的工具here

1 个答案:

答案 0 :(得分:2)

我将根据我的研究回答我自己的问题。如果我在这个答案中错了,请纠正我。

  

我是否可以通过他们的Github帐户对用户进行身份验证,而无需任何后端服务器?

简短的回答是肯定的。但你可能不想这样做。这是因为在the second step中,您需要通过nameclient_secret发送回Github。通常,由于常规网页中的same origin policy,您无法发送到POSTExtensions aren't so limited。出于安全原因,您不希望将Github.com放在JavaScript中。

  

如果我需要认证流程是什么样的?

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