溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在laravel中安裝Passport

發(fā)布時(shí)間:2021-02-25 15:07:34 來(lái)源:億速云 閱讀:231 作者:戴恩恩 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了如何在laravel中安裝Passport,此處通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的朋友可以參考下:

Laravel 是什么

Laravel 是一套簡(jiǎn)潔、優(yōu)雅的PHP Web開(kāi)發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來(lái);它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡(jiǎn)潔、富于表達(dá)力。

安裝

composer require laravel/passport

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

Laravel\Passport\PassportServiceProvider::class,

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

php artisan migrate

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

php artisan passport:install

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

Laravel\Passport\HasApiTokens

如何在laravel中安裝Passport

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

如何在laravel中安裝Passport

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

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

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

增加測(cè)試路由

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()]);
  }
}

通過(guò)postman進(jìn)行簡(jiǎn)單測(cè)試獲取token

如何在laravel中安裝Passport

如何在laravel中安裝Passport

到此這篇關(guān)于如何在laravel中安裝Passport的文章就介紹到這了,更多相關(guān)如何在laravel中安裝Passport的內(nèi)容請(qǐng)搜索億速云以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持億速云!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI