JWT身份验证方案中生成的刷新令牌在哪里?

时间:2015-09-15 23:57:07

标签: angularjs authentication single-page-application jwt

我正在使用AngularJS构建SPA,并与Laravel PHP后端进行通信。 Authentication方法使用JWT和tymon / jwt-auth PHP库,在我看来它就像一个很棒的库。

当用户发送他的用户名/密码时,服务会发送回JWT,JWT存储在客户端的localStorage中。这很好用。但是,我想使用刷新令牌继续向客户端发出新的JWT,以便用户在使用应用程序时保持登录状态。这些刷新令牌应该在哪里发行?它们应该在用户发送用户名/密码时发出吗?如果是这样,那么在tymon / jwt-auth库中似乎没有办法将刷新令牌发送到客户端。请帮助,我在概念化这个应该如何工作方面遇到了很多麻烦。

1 个答案:

答案 0 :(得分:0)

使用OAuth 2.0授权服务器进行身份验证时是否获得刷新令牌取决于您使用的OAuth grant

当您的客户端是SPA(不受信任的客户端)时,您可能正在使用隐式授权,并且该授权不支持刷新令牌。

一些公司已经实施了库,这些库能够使用隐藏IFRAME中的请求刷新授权服务器发出的访问令牌。我对您正在使用的库不熟悉。

有关详细信息,另请参阅this question