php – Laravel 4 – 如何为从移动应用程序访问的REST API实现自定义身份验证提供程序?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – Laravel 4 – 如何为从移动应用程序访问的REST API实现自定义身份验证提供程序?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1218字,纯文字阅读大概需要2分钟。
内容图文
![php – Laravel 4 – 如何为从移动应用程序访问的REST API实现自定义身份验证提供程序?](/upload/InfoBanner/zyjiaocheng/786/e8680eac745e4ed3aca49c590efffaef.jpg)
我正在使用Laravel 4构建REST API.可以从移动应用程序访问此API.我想扩展Laravel内置的身份验证服务以使用令牌.
移动应用程序将特定用户的API调用到端点用户/登录.
然后,它会生成一个新令牌,并将其插入令牌表中以获取相应的用户ID.请参阅下面的令牌表的结构:
id | userId | token | created_at | updated_at | expires_at
我想编写一个Authentification Provider来覆盖retrieveByID,retrieveByCredentials和validateCredentials函数.
这使移动应用程序可以在其标头中使用令牌调用任何API方法,但不使用任何用户凭据.
我使用HTTP在本地构建它,但它将是HTTPS.
我按照不同的教程编写了retrieveByCredentials函数,如下所示:
public function retrieveByCredentials(array $credentials) {
$token = token::where('token', '=', $credentials['token'])->take(1)->get();
if ($token) {
$user = User::where('user', '=', $token->userId)->get();
return new GenericUser($user);
}
else {
return false;
}
}
我宣布了
use token;
use user;
在我的AuthUserProvider类的开头,但我想这不是这样做的方法.
代码返回:
Undefined property: Illuminate\Database\Eloquent\Collection::$userId
我猜想的是,如何在这个类中访问我的模型,以便我可以检索用户并验证令牌.你能帮忙吗?
解决方法:
实现自定义身份验证是重新邀请轮子.我决定使用OAuth 2.0软件包,https://github.com/lucadegasperi/oauth2-server-laravel并且可以使其满足我的需求
内容总结
以上是互联网集市为您收集整理的php – Laravel 4 – 如何为从移动应用程序访问的REST API实现自定义身份验证提供程序?全部内容,希望文章能够帮你解决php – Laravel 4 – 如何为从移动应用程序访问的REST API实现自定义身份验证提供程序?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。