加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel 4 – 如何为从移动应用程序访问的REST API实现自

发布时间:2020-12-14 19:42:00 所属栏目:大数据 来源:网络整理
导读:我正在使用Laravel 4构建REST API.可以从移动应用程序访问此API.我想扩展Laravel内置的身份验证服务以使用令牌. 移动应用程序将特定用户的API调用到端点用户/登录. 然后,它会生成一个新令牌,并将其插入令牌表中以获取相应的用户ID.请参阅下面的令牌表的结构
我正在使用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: IlluminateDatabaseEloquentCollection::$userId

我猜想的是,如何在这个类中访问我的模型,以便我可以检索用户并验证令牌.你能帮忙吗?

解决方法

实现自定义身份验证是重新邀请轮子.我决定使用OAuth 2.0软件包,https://github.com/lucadegasperi/oauth2-server-laravel并且可以使其满足我的需求

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读