2016-09-05 15 views
0

私は2つの部分からなるビルドアプリケーションを持っています:モバイルとウェブのためのRESTfulな部分。Laravelでwebとapiガードを同時に使用する方法は?

どのようにしてweb/apiガードを同時に使用できますか?私はstadartウェブフォームでユーザーを登録でき、Restfulのような要求を受け入れることができますか?

答えて

3

auth:apiミドルウェアを使用してAPIにあるものは何でもルートの保護

Route::group(['middleware' => ['auth:api']], function(){ 
    //protected routes for API 
}); 

私たちはあなたのusers表はapi_token列があることを確認する必要があります:up関数の内部次に

php artisan make:migration alter_users_table_add_api_token_column 

Schema::table('users', function($table){ 
    $table->string('api_token', 60)->unique(); //this must be 60 characters 
}); 

最後に、あなたのApp\Http\Controllers\Auth\RegisterControllerで、今auth:api保護されたルートに要求

protected function create(array $data) 
{ 
    return User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     'api_token' => str_random(60) //add this 
    ]); 
} 

あなたapi_tokenを追加するために作成したファイルを変更すると、そのペイロードにapi_tokenが含まれている必要があります。

+0

私はLaravel 5.3で 'AuthController'を持っていません – Babaev

+0

あなたの場合、' api_token'を使ってどのようにユーザを登録できますか? – Babaev

+0

@Babaev私は自分の答えを変更しました。これらの変更を 'App \ Http \ Controllers \ Auth \ RegisterController'の' create() '関数の下で行う必要があります。 – Ohgodwhy

関連する問題