校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Laravel5.4簡(jiǎn)單實(shí)現(xiàn)app接口Api Token認(rèn)證方法

Laravel5.4簡(jiǎn)單實(shí)現(xiàn)app接口Api Token認(rèn)證方法

熱門(mén)標(biāo)簽:廣東地市地圖標(biāo)注 廣州防封卡外呼系統(tǒng)多少錢(qián)一個(gè)月 高德地圖標(biāo)注家 外呼系統(tǒng)撥打暫時(shí)無(wú)法接通 怎么向銷(xiāo)售公司推銷(xiāo)外呼系統(tǒng) 仁和怎么申請(qǐng)400開(kāi)頭的電話(huà) 江西手機(jī)自動(dòng)外呼防封系統(tǒng)是什么 長(zhǎng)春人工外呼系統(tǒng)服務(wù)商 哪里辦理400電話(huà)

我是小白,今天寫(xiě)這篇文章主要是給新手學(xué)習(xí)看的,大佬就不用看了,有很多不足望大家指出,共同進(jìn)步。

在開(kāi)發(fā)中許多 API 通常在返回響應(yīng)之前都需要某種形式的認(rèn)證,有些時(shí)候,一個(gè)認(rèn)證的請(qǐng)求和一個(gè)未認(rèn)證的請(qǐng)求,響應(yīng)可能不同。

在web項(xiàng)目中,實(shí)現(xiàn)認(rèn)證比較輕松,那么前后端分離的項(xiàng)目中,我們要怎么實(shí)現(xiàn)認(rèn)證,今天這篇文章就以 API token 認(rèn)證機(jī)制,使用Token可以解決laravel API的無(wú)狀態(tài)認(rèn)證。

一、給用戶(hù)表users增加api_token字段

php artisan make:migration add_api_token_to_users

首先,給用戶(hù)表中增加 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

三、用戶(hù)注冊(cè):

在注冊(cè)的控制器文件的創(chuàng)建用戶(hù)中添加 api_token 字段:

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

protected function register(Request $request)
 {
  $input = $request->all(); //獲取傳過(guò)來(lái)的傳數(shù) 
 
 //在這里設(shè)置生成token后,與賬號(hào)密碼等信息一起存進(jìn)User表
 
  $user = User::create($data); //存進(jìn)數(shù)據(jù)庫(kù)
 return $token; 
 //這里面的邏輯自己寫(xiě) 我這里只是簡(jiǎn)單實(shí)現(xiàn)
}

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

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

四、修改api driver:

接下來(lái)要在config\auth.php 修改如下內(nèi)容:

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

五、如何使用:

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

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

怎么訪問(wèn)?我們這里用postman來(lái)測(cè)試:


到些就大功告成了! 注意,這個(gè)只是基礎(chǔ)認(rèn)證,現(xiàn)在開(kāi)發(fā)還是用別人已經(jīng)開(kāi)發(fā)好的插件好,比如oAuth2,basic,jwt,Passport等等。

哦對(duì)了,如果想看token的認(rèn)證原理,我們可以看他的底層源碼

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

這個(gè)我也看不明白,哈!再見(jiàn)!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel如何實(shí)現(xiàn)適合Api的異常處理響應(yīng)格式
  • Laravel5.5+ 使用API Resources快速輸出自定義JSON方法詳解
  • laravel接管Dingo-api和默認(rèn)的錯(cuò)誤處理方式
  • 在Laravel中使用GuzzleHttp調(diào)用第三方服務(wù)的API接口代碼
  • Laravel實(shí)現(xiàn)ApiToken認(rèn)證請(qǐng)求
  • laravel框架 api自定義全局異常處理方法
  • laravel dingo API返回自定義錯(cuò)誤信息的實(shí)例
  • laravel 配置路由 api和web定義的路由的區(qū)別詳解
  • 詳解Laravel制作API接口

標(biāo)簽:海北 黔東 湘西 惠州 廈門(mén) 濮陽(yáng) 文山 梅河口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel5.4簡(jiǎn)單實(shí)現(xiàn)app接口Api Token認(rèn)證方法》,本文關(guān)鍵詞  Laravel5.4,簡(jiǎn)單,實(shí)現(xiàn),app,接口,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel5.4簡(jiǎn)單實(shí)現(xiàn)app接口Api Token認(rèn)證方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Laravel5.4簡(jiǎn)單實(shí)現(xiàn)app接口Api Token認(rèn)證方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 云龙县| 南城县| 柳江县| 贵州省| 崇明县| 那曲县| 谢通门县| 社旗县| 红桥区| 楚雄市| 鹤山市| 漳平市| 利辛县| 永春县| 合作市| 沙田区| 水富县| 宣城市| 彰化市| 九台市| 来宾市| 贵定县| 云和县| 漳浦县| 秭归县| 阳原县| 中卫市| 龙井市| 宜丰县| 湖南省| 济宁市| 罗城| 吴川市| 中超| 丁青县| 合肥市| 丰顺县| 喀什市| 介休市| 从江县| 闸北区|