【问题标题】:How to authenticate for Laravel API?如何对 Laravel API 进行身份验证?
【发布时间】:2014-10-04 20:02:23
【问题描述】:

我正在编写我的第一个 Laravel API 作为一个项目来了解 Laravel。然而,这比我预想的要困难——尽管我首先在 laravel 中编写了一个完整的 web 应用程序。另外,我是 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 进行身份验证的概念对我来说仍然有点模糊,我不知道哪种过滤器最适合用于这些?

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

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

    所以我会创建一个新的过滤器并根据您的需要添加身份验证:

    Route::filter('apiAuth', function()
    {
         $user = Input::get('user');
         $key = Input::get('key');
         if (!isset($user, $key)){
             die('error');
         }
         if(!checkDataHere){
             die('error');
         }
    });
    

    这是非常基本的,但这是大体思路

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-07
      • 2022-08-23
      • 2020-09-05
      • 1970-01-01
      • 2013-01-05
      • 2021-07-18
      • 2016-05-18
      • 2016-04-23
      相关资源
      最近更新 更多