使用 Angularjs 和 Laravel 注销会话过期

Posted

技术标签:

【中文标题】使用 Angularjs 和 Laravel 注销会话过期【英文标题】:Logout Session Expiration with Angularjs and Laravel 【发布时间】:2016-04-18 21:48:48 【问题描述】:

我使用 laravel 5 构建了我的 API,我的 Web 应用程序和移动应用程序都使用相同的 API。在 Web 应用程序上,默认过期时间为 60 分钟,之后用户必须重新登录。但是在移动设备上我不希望这样,移动设备没有自动会话到期,用户只能在点击应用程序上的注销按钮后注销。

我使用 JWT 和 satellizer 进行身份验证,我想知道如何实现这一点。

【问题讨论】:

你使用 oAuth 2.0 吗? 你们 API 是否提供 JWT 令牌? 【参考方案1】:

我相信基于this answer 的当前做法是在令牌过期之前延长或刷新令牌。我不相信你不能过期。

【讨论】:

【参考方案2】:

我的网络应用程序和移动应用程序的设置与您的设置相同。 我只是将用户名/电子邮件和密码存储在手机上(本机),每次用户打开应用程序时,它都会调用以接收新的 JWT。 当用户在手机上注销时,密码被删除。

我认为这是最简单的解决方案,为了安全起见,您可以在存储中加密密码。

【讨论】:

我会试试这个,看起来很简单。 :)

以上是关于使用 Angularjs 和 Laravel 注销会话过期的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 4 + Angular 身份验证路由

AngularJS客户端的注销功能

带有Angularjs注销错误的Spring Boot

Spring Security OAuth2 AngularJS |注销流程

在 laravel 护照中注销用户

Laravel 4 身份验证注销错误