知道怎样使用VUE js和VUE路由器
问题描述:
我最大的问题,现在要做的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