首页 > 解决方案 > 在 AngularJS 中使用 Google Drive API 进行身份验证

问题描述

我完全用 go-lang 创建了这个网络应用程序,它使用 Google Drive API 来验证用户。一旦用户通过身份验证,它将令牌保存在一个<user-email>_token.json文件中,这样应用程序就可以在没有用户参与的情况下运行 24 小时。它工作正常。但现在我想将前端与(Go-Lang)后端分开并将其转换为 AngularJS。

所以我在身份验证方面遇到了这个问题。因为我应该将身份验证保留在服务器端。但是 Angular 怎么知道用户是否通过了身份验证?因为我不能使用会话。

我应该为此使用 JWT 吗?如果是,那我该怎么做?

标签: angularjsauthenticationgogoogle-drive-api

解决方案


您的令牌不必在服务器端。

为什么?因为如果您有许多客户端连接到您的服务器,这意味着所有这些客户端都共享相同的令牌,因此可以访问链接到该令牌的 Google Drive。它没有任何意义。

令牌必须在客户端。您应该将令牌保存为 cookie,也许通过使用JWT,我让您阅读 JWT 的文档以了解为什么在您的情况下使用它会很有趣。

然后在你的 Angular 上,你必须说类似“嘿,这个客户端有一个名为“my-google-drive-token”的 cookie,让我们检查一下这是否是一个好的......嗯,好吧似乎很好,我显示 Google Drive 内容”。

考虑使用有关安全性的良好做法(在 cookie 中使用加密令牌,确保正面和背面之间的连接安全,保持 API 密钥安全......)。

您的后端只是前端和 Google Drive API 之间的网关。

另外,检查服务器的有用性。我认为在您的情况下,连接到 Google API 的简单前端就足够了。


推荐阅读