溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Laravel5.4中使用app接口實現Api Token認證

發布時間:2021-02-08 15:30:21 來源:億速云 閱讀:234 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在Laravel5.4中使用app接口實現Api Token認證,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一、給用戶表users增加api_token字段

php artisan make:migration add_api_token_to_users

首先,給用戶表中增加 api_token字段,在生成的遷移文件中添加字段:

<?php
 
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
 
class AddApiTokenToUsers extends Migration
{
 /**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
  Schema::table('users', function (Blueprint $table) {
   $table->string('api_token', 64)->unique();
  });
 }
 
 /**
  * Reverse the migrations.
  *
  * @return void
  */
 public function down()
 {
  Schema::table('users', function (Blueprint $table) {
   $table->dropColumn(['api_token']); //新增加的
  });
 }
}

二、然后使用下面的命令將字段添加到表中:

php artisan migrate

三、用戶注冊:

在注冊的控制器文件的創建用戶中添加 api_token 字段:

我這里的控制器是App\Http\Controllers\Api\RegisterController.php

protected function register(Request $request)
 {
  $input = $request->all(); //獲取傳過來的傳數 
 
 //在這里設置生成token后,與賬號密碼等信息一起存進User表
 
  $user = User::create($data); //存進數據庫
 return $token; 
 //這里面的邏輯自己寫 我這里只是簡單實現
}

最后,不要忘記在 App\User.php用戶模型表中的 $fillable 屬性當中添加api_token字段:

/**
  * The attributes that are mass assignable.
  *
  * @var array
  */
 protected $fillable = [
  'name', 'email', 'password','confirmation_token','api_token'
 ];

四、修改api driver:

接下來要在config\auth.php 修改如下內容:

'guards' => [
  'web' => [
   'driver' => 'session',
   'provider' => 'users',
  ],
 
  'api' => [
   'driver' => 'token', //把driver設置為token
   'provider' => 'users',
  ],
 ],

五、如何使用:

接下來,我們要添加路由,在routes\api.php文件修改:

Route::group(['middleware' => 'token'], function(){
 Route::post('register', 'API\UserController@register'); 
});

怎么訪問?我們這里用postman來測試:

怎么在Laravel5.4中使用app接口實現Api Token認證

到些就大功告成了! 注意,這個只是基礎認證,現在開發還是用別人已經開發好的插件好,比如oAuth3,basic,jwt,Passport等等。

哦對了,如果想看token的認證原理,我們可以看他的底層源碼

vendor\laravel\framework\src\Illuminate\Auth\TokenGuard.php:

怎么在Laravel5.4中使用app接口實現Api Token認證

上述內容就是怎么在Laravel5.4中使用app接口實現Api Token認證,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女