我怎样才能得到使用JWT在angular-4中使用golang作为API服务器的用户的登录状态

问题描述:

我是新来的语言或golang,我正在创建一个使用Angular-4作为前端的应用程序并作为API服务器。我使用的数据库是mongodb。我怎样才能得到使用JWT在angular-4中使用golang作为API服务器的用户的登录状态

因此,我创建了一个使用gin的终端API。

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

的JWT令牌包含以下几件事:

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

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

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

我正在使用gin包不是http包。所以请帮我参考gin包。

我已经搜索了太多的会议,但我发现丝毫关系http,我也读到gorilla的会议,但我得到的是它是client侧,我要救服务器上的令牌一面。

+0

这个问题有什么问题吗?请先阅读整个问题,然后再投票。 有问题是不同的。 –

+0

为什么你需要智威汤逊和会话?我创建了一个单页面应用程序,使用vue.js作为API服务器,恕我直言,你不需要两者,你可以使用JWT或会话。我正在将JWT令牌保存在cookie上。 – srf

+0

是的你是对的。我已将JWT保存在本地存储中。但是,我如何检测用户是否登录?所以这就是为什么我必须使用会话或可用于在服务器上存储令牌的内容,以便我可以检查用户状态。 –

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

+0

你是绝对正确@Muhammad Kashif Sulaiman。但是我已经在数据库中保存了令牌,并且如果我通过令牌从数据库中查找并检查用户,这将是一个漫长的过程。你能告诉我一个简单/简单的方法吗? –

+0

如果你不想使用db,那么使用全局变量。 例如 tokensList = [{:},{}] –