如何使用令牌对用户进行身份验证(在iPhone中保持身份验证)

时间:2016-11-29 13:39:47

标签: ios iphone laravel authentication dingo-api

我有两个相关的问题,我希望有人帮助我,因为我已经被困了2天

首先:手机无法验证

这就是我所做的:

1-用户注册

2-令牌发布

保存在用户设备中的

3-令牌

但是当同一个用户尝试执行API请求时,我得到了

Rooute注册:

-keepdirectories

然后我得到一个令牌,所以我想一切看起来都很棒! 然后,当同一设备向laravel发送一个帖子请求时,我收到此消息

$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
$api->post('auth/signup', 'App\Api\V1\Controllers\AuthController@signup');

这是发布请求的路线

"message": "Failed to authenticate because of bad credentials or an invalid authorization header."

第二:我的方法是保存手机数据的权利吗?

由于我无法测试此方法,我想知道这是否至少是接收数据并保存数据的正确方法之一。保存它的原因是因为我将在控制面板中显示它。

 $api->group(['middleware'=>'api.auth'],
    function ($api)   {
$api->post('auth/ios', 'App\Api\V1\Controllers\AuthController@create');

1 个答案:

答案 0 :(得分:1)

我了解您是基于api令牌的身份验证用户。

以下是您可以做的事情:

  1. 通过添加以下迁移在users表中设置名为api_token的列 $table->string('api_token', 60)->unique();。这会为每个用户生成一个随机的api令牌。
  2. api_token发送回用户的设备并将其保存在那里
  3. 随每个请求发回。优先将其全局设置并将其发送到请求身份验证请求标头
  4. 获取经过身份验证的用户$user= Auth::guard('api')->user();
  5. Laravel负责幕后的所有身份验证。

    详细了解此here