Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何对Laravel API进行身份验证?_Php_Laravel_Laravel 4 - Fatal编程技术网

Php 如何对Laravel API进行身份验证?

Php 如何对Laravel API进行身份验证?,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在编写我的第一个Laravel API,作为了解Laravel的一个项目。然而,这比我预想的要困难得多——尽管我先在拉威尔写了一个完整的网络应用程序。另外,我是Stackoverflow的新手,所以我希望我的问题是正确的 我已经为我的API设置了路由,但现在我还想验证每个API请求。我设置的路线可以在下面找到: Route::group(['prefix' => 'api/v1', 'before' => 'basic.once'], function () { Rou

我正在编写我的第一个Laravel API,作为了解Laravel的一个项目。然而,这比我预想的要困难得多——尽管我先在拉威尔写了一个完整的网络应用程序。另外,我是Stackoverflow的新手,所以我希望我的问题是正确的

我已经为我的API设置了路由,但现在我还想验证每个API请求。我设置的路线可以在下面找到:

Route::group(['prefix' => 'api/v1', 'before' => 'basic.once'], function ()
{

    Route::resource('lessons', 'LessonsController');

    Route::get('lessons/user/{userid}', 'LessonsController@user');

    Route::resource('user', 'UsersController');

    Route::get('user/lessons/{user}', 'UsersController@lessons');

    Route::get('user/lesson/{user}/{lesson}', 'UsersController@lesson');

});
我还为此创建了两个过滤器:

Route::filter('auth.basic', function()
{
    return Auth::basic();
});

Route::filter('basic.once', function()
{
    return Auth::onceBasic('email');
});

但是,由于通过API进行身份验证的概念对我来说仍然有点模糊,我不知道哪个过滤器是用于这些的最佳过滤器?

如果这是一个API,您将不会记录API发送者

因此,我将创建一个新的过滤器,并根据您的需要添加身份验证:

Route::filter('apiAuth', function()
{
     $user = Input::get('user');
     $key = Input::get('key');
     if (!isset($user, $key)){
         die('error');
     }
     if(!checkDataHere){
         die('error');
     }
});
这是非常基本的,但这是总的想法