摘要:新增了很多的新特性,包括了內(nèi)置多用戶認(rèn)證表單數(shù)組輸入驗(yàn)證隱式路由模型綁定中間件組的定義中間件訪問頻率限制等主要功能。相對(duì)于變化有點(diǎn)大,簡化了的目錄結(jié)構(gòu),并將路由分離出來。由于已將的路由多帶帶分離出來,因此只需在中添加路由規(guī)則。
Laravel 5.2 新增了很多的新特性,包括了內(nèi)置多用戶認(rèn)證、表單數(shù)組輸入驗(yàn)證、隱式路由模型綁定、中間件組的定義、中間件 throttle 訪問頻率限制等主要功能。
即將發(fā)布的 Laravel 5.3 也新增了不少新的特性:全局輔助函數(shù) cache() 、查詢構(gòu)造器 where / update 新增 JSON 屬性操作語法、Blade 模板新增 $loop 變量、更簡單的分頁實(shí)現(xiàn)、圖片尺寸驗(yàn)證規(guī)則等。Laravel 5.3 相對(duì)于 Laravel 5.2 變化有點(diǎn)大,簡化了 app 的目錄結(jié)構(gòu),并將路由分離出來。
本文主要介紹一下 Laravel 5.2 下使用 API Token Authentication, Laravel 5.2 帶有了 TokenGuard 類。你可以讓用戶的 api_token 追加到 API 請(qǐng)求的后面,并用 api_token 驗(yàn)證請(qǐng)求,分為 Laravel5.2 和 Laravel5.2 版本。
設(shè)置 api_token 字段并修改 User 模型 首先:你要先給你的 users 表添加 api_token 的字段。
// Laravel5.2 和 Laravel5.3 一樣 $table->string("api_token", 60)->unique();
如果你的項(xiàng)目剛創(chuàng)建,將上述的字段添加到 users_table migration。
如果你的項(xiàng)目并不是新創(chuàng)建的,那么你可以去添加一個(gè) migration 為 users 表添加 api_token 字段。
然后:在 User 模型中的 $fillable、$hidden 添加 api_token 字段
// Laravel5.2 和 Laravel5.3 一樣 project $fillable = ["name", "email", "password", "api_token"]; project $hidden = ["password", "remember_token", "api_token"];用戶創(chuàng)建時(shí)默認(rèn)生成 api_token
由于 Laravel5.2 和 Laravel5.3 創(chuàng)建內(nèi)置的用戶認(rèn)證目錄結(jié)構(gòu)不一樣,所以:
Laravel5.2:只需在 AppHttpControllersAuthAuthController 中的 create 方法添加:
Laravel5.3:則在 AppHttpControllersAuthRegisterController 中的 create 方法添加:
//將此代碼添加到創(chuàng)建用戶的數(shù)組中 "api_token" => str_random(60)添加相對(duì)應(yīng)的路由
我們要確保我們所有的 API 都通過使用 auth:api 中間件保護(hù)。
Laravel5.2:
//將此代碼放置到路由中。 Route::group([ "prefix" => "api", "middleware" => ["api", "auth:api"] ], function () { //Write Routes });
Laravel5.3:由于 Laravel5.3 已將 api 的路由多帶帶分離出來,因此只需在 routesapi.php 中添加路由規(guī)則。路由組定義可以到 appProvidersRouteServiceProvider 中的 mapApiRoutes 方法查看。
通過在 auth 中間件后添加 :api ,告訴 Laravel 我們想使用設(shè)置在 config/auth.php 下的 api 的 guard 和 默認(rèn)為 token
任何在 API 路由組的路由,所有的請(qǐng)求都需要驗(yàn)證 api_token。
獲取 User 記錄// Laravel5.2 和 Laravel5.3 一樣 Auth::guard("api")->user();
這樣的寫法是為了讓 Laravel 知道,我們想調(diào)用的是 api guard,而不是調(diào)用默認(rèn)的 web guard
本文參照API Token Authentication in Laravel 5.2
更多請(qǐng)關(guān)注PIGJIAN BLOG
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/21873.html
摘要:因?yàn)檫@個(gè)項(xiàng)目最后會(huì)在年月日于上海舉行的云大會(huì)上展示,所以當(dāng)時(shí)完成集成工作后心想,還是得提前測試一下咱們的在響應(yīng)并發(fā)請(qǐng)求時(shí)的性能做到心里有數(shù)。 這篇文章本來Jerry只在SAP社區(qū)上寫了英文版的,可以通過點(diǎn)擊文末的閱讀原文獲得。后來有兩位做Marketing Cloud開發(fā)的德國同事,寫郵件詢問關(guān)于文章的更多細(xì)節(jié),聲稱這種方式對(duì)他們自己的API性能測試很有用,所以我覺得還是值得用中文再寫...
如何對(duì)資源(前端頁面+后端接口)進(jìn)行權(quán)限控制 在微服務(wù)架構(gòu)中,請(qǐng)求的攔截在gateway中完成,而權(quán)限的查詢是在uaa中完成,在gateway和uaa集成部署的情況下實(shí)現(xiàn)較為簡單,如果兩者分離實(shí)現(xiàn)起來就會(huì)比較麻煩,一種方案是在gateway的資源filter中內(nèi)部調(diào)用uaa的權(quán)限查詢模塊,該方案是可行的,但是存在兩個(gè)弊端: 響應(yīng)延時(shí):每個(gè)資源的請(qǐng)求都會(huì)附帶一次uaa內(nèi)部調(diào)用,加重uaa服務(wù)的負(fù)擔(dān)...
摘要: Using the API Every Flarum forum exposes a publicly-accessible JSON API that can read and write forum data. It conforms to the JSON-API 1.0 specification. Authentication The API uses token-base...
摘要:前言本文將會(huì)從最基本的一種權(quán)限驗(yàn)證說起,即,然后是基于和的權(quán)限驗(yàn)證,最后則是和一次性密碼。由于它不依賴于,等任何外部因素,所以它是最簡單的權(quán)限驗(yàn)證方法。當(dāng)使用來進(jìn)行權(quán)限驗(yàn)證時(shí),有以下幾點(diǎn)需要注意。 前言 本文將會(huì)從最基本的一種web權(quán)限驗(yàn)證說起,即HTTP Basic authentication,然后是基于cookies和tokens的權(quán)限驗(yàn)證,最后則是signatures和一次性密...
摘要:前言現(xiàn)在的好多項(xiàng)目都是基于移動(dòng)端以及前后端分離的項(xiàng)目,之前基于的前后端放到一起的項(xiàng)目已經(jīng)慢慢失寵并淡出我們視線,尤其是當(dāng)基于的微服務(wù)架構(gòu)以及單頁面應(yīng)用流行起來后,情況更甚。使用生成是什么請(qǐng)自行百度。 1、前言 現(xiàn)在的好多項(xiàng)目都是基于APP移動(dòng)端以及前后端分離的項(xiàng)目,之前基于Session的前后端放到一起的項(xiàng)目已經(jīng)慢慢失寵并淡出我們視線,尤其是當(dāng)基于SpringCloud的微服務(wù)架構(gòu)以及...
閱讀 718·2021-08-31 09:45
閱讀 1835·2021-08-11 11:19
閱讀 1034·2019-08-30 15:55
閱讀 992·2019-08-30 10:52
閱讀 3008·2019-08-29 13:11
閱讀 3076·2019-08-23 17:08
閱讀 2978·2019-08-23 15:11
閱讀 3227·2019-08-23 14:33