如何在 Laravel 5.2 中验证 RESTful API?

Posted

技术标签:

【中文标题】如何在 Laravel 5.2 中验证 RESTful API?【英文标题】:How to authenticate RESTful API in Laravel 5.2? 【发布时间】:2016-12-31 16:22:17 【问题描述】:

我在 Laravel 5.2 中创建了 RESTful API。每次用户访问 AbcController 时,我都需要进行身份验证。我创建了如下路线:

Route::group(['prefix' => 'user'], function () 
   Route::post('login', 'Auth\AuthController@authenticate');
   Route::post('register', 'UserController@userRegister');
   Route::post('register', 'UserController@userRegister');
);

Route::group(['prefix' => 'abc'], function () 
   Route::get('abclists', 'AbcController@movieLists');
   Route::get('upcoming', 'AbcController@upcomingMovieLists');
);

当用户第一次注册或登录时,我会为会话令牌创建随机的 64 位字符字符串。此会话令牌存储在不同的表中。现在我很困惑如何检查用户是否在 AbcController 中登录。我没有为此使用任何库。请建议如何解决这个问题。

【问题讨论】:

【参考方案1】:

最简单的方法是使用中间件。 在 handle() 方法中,您可以检查存储在表中的令牌。

<?php

namespace App\Http\Middleware;

class AgeMiddleware


    public function handle($request)
    
        if(TOKEN == $request->get('token')
        return $next($request);
    


您可以在这里查看更多信息:Laravel Docs

【讨论】:

以上是关于如何在 Laravel 5.2 中验证 RESTful API?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.2:如何在中间件中使用身份验证

在AuthController中覆盖laravel的5.2身份验证方法

如何在 Laravel 5.2 中创建多重身份验证

如何修复 laravel 5.2 zizaco 委托:迁移类名验证?

如何使用laravel 5.2 mimes?

Laravel 5.2 验证帮助存在于数据库中