我最大的問題,現在要做的laravel 5.3基於會話的認證是認證知道怎樣使用VUE js和VUE路由器
我頭痛這一點,因爲使用API來獲取和使用發送數據到服務器IM VUE
所以香港專業教育學院試圖與AUTH中間件做登錄的事情,但它不停地說,未經授權即使我登錄
有啥與認證的問題,我如何可以實現基於會話的認證?
我最大的問題,現在要做的laravel 5.3基於會話的認證是認證知道怎樣使用VUE js和VUE路由器
我頭痛這一點,因爲使用API來獲取和使用發送數據到服務器IM VUE
所以香港專業教育學院試圖與AUTH中間件做登錄的事情,但它不停地說,未經授權即使我登錄
有啥與認證的問題,我如何可以實現基於會話的認證?
如果您使用Laravel作爲API,您可能需要執行基於令牌的身份驗證。主要想法是使用'api'後衛(使用TokenGuard類),而不是默認的'網絡'後衛(你可以在congif/auth.php
中更改)。這樣Laravel將在每個請求的授權頭中尋找一個不記名令牌。
This is a decent walk through即將開始,但我確信還有很多其他優秀的博客文章和教程。
編輯:如果
不知道這是有幫助的,但在這裏是使用自動化測試的例子。在我的ModelFactory中,我有一個api_token
屬性的用戶模型,該屬性設置爲60個字符的隨機(且唯一)字符串。這是一個簡單的測試,以確保我可以檢索用戶的列表:
/** @test */
public function user_index_endpoint_returns_list_of_users()
{
$user = factory(User::class)->create();
$this->get('/users', array(
'Accept' => 'application/json',
'Authorization' => 'Bearer ' . $user->api_token
))
->assertResponseStatus(200)
->seeJsonStructure([
'users'
]);
}
在我config/auth.php
文件的頂部,我設置我的默認後衛「API」:
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
最後,在我的路由文件中,我設置了我的用戶路由來使用'auth'中間件。
Route::group(['middleware' => 'auth'], function() {
Route::get('/users', '[email protected]');
});
因爲我已經定義了「API」中間件作爲我的默認,幕後Laravel將使用TokenGuard類來嘗試驗證我的要求。爲此,它會在我的請求中查找不記名令牌,並將其與用戶表進行比較。
你可以給一個小片段如何做到這一點?這讓我頭疼 –
我加入我的答案與一些示例代碼。希望能幫助到你! – jackel414