我在 Angular 单页应用程序 (SPA) 中使用 GitHub API 客户端“ octokit/rest.js ”。鉴于它通常更安全,并且我对我的 GitHub 帐户使用 2 因素身份验证(仅密码是不够的),我想使用 OAuth 工作流程。我一直按照此处的说明获取访问令牌,然后使用它来构建 octokit 客户端:
login(token: string) {
this.client = new Octokit({
auth: `token ${token}`
});
}
为了获取令牌,我必须制作一个简单的后端,其目的只是获取令牌并将其传递给前端,因为我还没有弄清楚如何从 SPA 中安全地执行此操作(它需要一个我无法在前端保持安全的 client_secret?)。它似乎有效,但我仍然有重要的问题:
- 这安全吗?还是应该只保留服务器端的访问令牌?
- 有没有更好的方法只从前端处理 octokit/GitHub API 身份验证?