我正在使用AngularJS构建SPA,并与Laravel PHP后端进行通信。 Authentication方法使用JWT和tymon / jwt-auth PHP库,在我看来它就像一个很棒的库。
当用户发送他的用户名/密码时,服务会发送回JWT,JWT存储在客户端的localStorage中。这很好用。但是,我想使用刷新令牌继续向客户端发出新的JWT,以便用户在使用应用程序时保持登录状态。这些刷新令牌应该在哪里发行?它们应该在用户发送用户名/密码时发出吗?如果是这样,那么在tymon / jwt-auth库中似乎没有办法将刷新令牌发送到客户端。请帮助,我在概念化这个应该如何工作方面遇到了很多麻烦。
答案 0 :(得分:0)
使用OAuth 2.0授权服务器进行身份验证时是否获得刷新令牌取决于您使用的OAuth grant。
当您的客户端是SPA(不受信任的客户端)时,您可能正在使用隐式授权,并且该授权不支持刷新令牌。
一些公司已经实施了库,这些库能够使用隐藏IFRAME
中的请求刷新授权服务器发出的访问令牌。我对您正在使用的库不熟悉。
有关详细信息,另请参阅this question。