在AngularJS中使用Google Drive API进行身份验证

时间:2019-01-30 15:26:23

标签: angularjs authentication go google-drive-api

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

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

我需要为此使用JWT吗?如果是,那我该怎么办?

1 个答案:

答案 0 :(得分:0)

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

为什么?因为如果您有许多客户端连接到服务器,则意味着所有这些客户端都共享同一个令牌,因此可以访问链接到该令牌的Google云端硬盘。这没有道理。

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

然后在您的Angular上,您必须说类似“嘿,此客户端有一个名为“ my-google-drive-token”的cookie,让我们检查一下它是否是一个很好的……Mmmmh,好的似乎是好,我会显示Google云端硬盘内容”。

请考虑使用有关安全性的良好做法(在cookie中使用加密令牌,使前后面板之间的连接安全keep your API key safe ...)。

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

此外,请检查服务器的实用性。我认为,就您而言,只需将简单的前端连接到Google API就可以了。