angular - 如何使用 golang 作为 API 服务器在 angular-4 中使用 JWT 获取用户的登录状态

标签 angular session go authentication token

我是 go 语言或 golang 的新手,我正在创建一个使用 Angular-4 作为前端并作为 API 服务器的应用程序。我使用的数据库是 mongodb。

因此,我在 go 中使用 gin 创建了一个端点 API。

API 运行良好,我创建了一个登录 API,用于获取电子邮件和密码,如果电子邮件和密码正确,它会创建一个 JWT token 并返回 JWT token 作为响应。

JWT token 由以下内容组成:

  • 用户 ID。
  • 用户 Angular 色。
  • 当前服务器时间。

如果用户的邮箱和密码正确,服务器创建一个 JWT token 并将其保存在用户的集合中,并将其返回给客户端并保存到本地存储。

我想像在 PHP 或 Java 应用程序中那样将 token 保存到服务器。 有人建议我将 JWT token 存储在服务器本地存储或内存中,而不是将其保存到用户的 cookie 中。

我使用的是 gin 包而不是 http 包。所以请帮助我引用 gin 包。

我为 session 搜索了太多,但我找到了与 http 相关的方式,我还阅读了有关 gorilla 的 session ,但我得到的是对于 client 端,我想将 token 保存在 server 端。

最佳答案

没有像网络那样的服务器本地存储...有用于这些目的的数据库。如果您将其用作数据库,请改用 Mongodb ... 或者在服务器端使用全局变量。 但我建议使用 db。

关于angular - 如何使用 golang 作为 API 服务器在 angular-4 中使用 JWT 获取用户的登录状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46560567/

相关文章:

javascript - Angular 2在重定向后保留URL的状态

angular - 对 Firestore 的递归调用

php - 为什么 session 在 Laravel 5.x 刷新时消失?

php - 除非表单提交两次,否则简单的 PHP 登录系统将无法工作

json - 我可以在 golang 的 json 中将用户定义的值作为数据类型吗

javascript - Angular2 和 xhr 事件监听器

javascript - 为什么在服务中的函数中使用 let 和 new 创建新对象时会得到旧对象?

session - 使用 ServiceStack 的多个 ICacheClient 实现

go - 定期运行多个方法

go - 如何用go检查空字符串类型?