laravel - 在登录移动应用程序时保存会话凭据

Posted

技术标签:

【中文标题】laravel - 在登录移动应用程序时保存会话凭据【英文标题】:laravel - save session credentials on login for mobile app 【发布时间】:2014-04-28 12:36:19 【问题描述】:

我是 laravel 框架的新手,并试图将其用作后端来构建适用于 ios 的应用程序。在进行用户身份验证时,我正在尝试将会话凭据作为令牌存储在移动设备上,以便用户可以保持登录状态。但是 laravel 似乎并没有以这种方式记住用户的登录状态.有人可以帮忙给我一些建议吗?谢谢你的帮助。

【问题讨论】:

【参考方案1】:

我只是想办法解决这个问题。

我创建了自己定制的auth驱动函数来检查用户是否拥有某个auth token,如果用户拥有那个token,那么就让用户登录。

基于它,我需要生成一个令牌并将其存储在数据库和 iPhone 的钥匙串上。只要 iPhone 拥有与数据库中的令牌匹配的令牌,用户就可以保持登录状态。

@aBilal17 虽然我没有使用你的解决方案,但还是谢谢。

【讨论】:

哇!这正是我需要的!您介意编辑一下答案,解释一下您是如何完成的吗? :D 谢谢!【参考方案2】:

为此使用 NSUserDefaults

     [[NSUserDefaults standardUserDefaults] setValue:txtLogin.text forKey:@"userName"];

     [[NSUserDefaults standardUserDefaults] setValue:txtPassword.text forKey:@"password"];

之后你可以像这样从 NSUserDefaults 中获取价值

     [[NSUserDefaults standardUserDefaults] valueForKey:@"userName" ]
     [[NSUserDefaults standardUserDefaults] valueForKey:@"password"]

【讨论】:

操作者想知道如何使用会话/令牌来执行此操作,而不是在每个请求上都发送凭据。通过会话/令牌字符串隐藏凭据更加安全和高效。另一方面,您可以很好地存储在NSUserDefaults 中。

以上是关于laravel - 在登录移动应用程序时保存会话凭据的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:在多个域上共享会话数据

从 ssl 移动到非 ssl 时会话未保存

使用 Angularjs 和 Laravel 注销会话过期

Laravel - 在登录时销毁现有会话

Laravel 5.0 扩展了“注销”功能

如何在laravel 5.5中会话时自动重定向到登录页面