最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解laravel安裝使用Passport(Api認證)

 更新時間:2018年07月27日 11:48:15   作者:今天一點也不冷  
這篇文章主要介紹了詳解laravel安裝使用Passport(Api認證),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Laravel通過傳統(tǒng)的登錄表單已經(jīng)讓用戶認證變得很簡單,但是API怎么辦?API通常使用token進行認證并且在請求之間不維護session狀態(tài)。Laravel使用Laravel Passport讓API認證變得輕而易舉,Passport基于Alex Bilbie維護的League OAuth2 server,可以在數(shù)分鐘內(nèi)為Laravel應(yīng)用提供完整的OAuth2服務(wù)器實現(xiàn)。

中文文檔

http://laravelacademy.org/post/6813.html

安裝

composer require laravel/passport

接下來,在配置文件 config/app.php 的providers 數(shù)組中注冊 Passport 服務(wù)提供者:

Laravel\Passport\PassportServiceProvider::class,

Passport 遷移將會為應(yīng)用生成用于存放客戶端和訪問令牌的數(shù)據(jù)表 (遷移文件位置/vendor/laravel/passport/database)

php artisan migrate

創(chuàng)建生成安全訪問令牌時用到的加密密鑰及私人訪問和密碼訪問客戶端。

php artisan passport:install

Trait 添加到 App\User 模型中,這個 Trait 會給這個模型提供一些輔助函數(shù),用于檢查已認證用戶的令牌和使用作用于。

Laravel\Passport\HasApiTokens

然后在 AuthServiceProvider 的 boot 方法中添加 Passport::roues();

最后,修改文件 config/auth.php 中 api 部分的授權(quán)保護項( driver )改為 passport 。此調(diào)整會讓你的應(yīng)用程序在接收到 API 的授權(quán)請求時使用 Passport 的 TokenGuard 來處理

'guards' => [
    'web' => [
      'driver' => 'session',
      'provider' => 'users',
    ],

    'api' => [
      'driver' => 'passport',
      'provider' => 'users',
    ],
  ],

增加測試路由

Route::group(['namespace' => 'api'], function () {
  Route::post('/login', 'UserController@login');
});
Route::group(['middleware' => 'auth:api', 'namespace' => 'api'], function() {
  Route::get('V1/test/passport', 'UserController@passport');
});

增加控制器

php artisen make:controller UserController
<?php

namespace App\Http\Controllers\Api;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;

class UserController extends Controller
{
  public function __construct()
  {
    $this->content = array();
  }
  public function login()
  {
    // dd(request('name'));
    if(Auth::attempt(['name' => request('name'), 'password' => request('password')]))
    {
      $user = Auth::user();
      $this->content['token'] = $user->createToken('Pi App')->accessToken;
      $status = 200;
    } else {

      $this->content['error'] = "未授權(quán)";
       $status = 401;
    }
     return response()->json($this->content, $status);
  }
  public function passport()
  {
    return response()->json(['user' => Auth::user()]);
  }
}

通過postman進行簡單測試獲取token

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

微山县| 和平县| 长沙县| 苏尼特左旗| 龙陵县| 阳城县| 肃南| 大渡口区| 交城县| 大渡口区| 钟祥市| 三河市| 防城港市| 台安县| 马尔康县| 蛟河市| 清丰县| 扶风县| 曲阜市| 商都县| 罗山县| 武穴市| 京山县| 诏安县| 达尔| 鲜城| 云和县| 定日县| 吴川市| 南昌县| 遵义县| 平乡县| 马关县| 繁昌县| 滨州市| 江城| 贵南县| 冕宁县| 安徽省| 东港市| 大邑县|