Laravel TokenGuard类始终需要api_令牌
我使用的是AngularJs和Laravel 5.4 在默认保护中,我将Laravel TokenGuard类始终需要api_令牌,laravel,laravel-5.2,laravel-5.1,laravel-5.3,laravel-5.4,Laravel,Laravel 5.2,Laravel 5.1,Laravel 5.3,Laravel 5.4,我使用的是AngularJs和Laravel 5.4 在默认保护中,我将webguard更改为api。最后它看起来像下面 'defaults' => [ 'guard' => 'api', 'passwords' => 'users', ], 当我从Angular Js使用用户名和密码发送请求时…我总是得到无效的凭据,因为 TokenGuard类有一个名为validate的方法,该方法需要api\u令牌值,但我在登录页面上 我假设为了获得令牌,我需要登录方法中
webguard
更改为api
。最后它看起来像下面
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
当我从Angular Js使用用户名和密码发送请求时…我总是得到无效的凭据,因为
TokenGuard
类有一个名为validate
的方法,该方法需要api\u令牌值,但我在登录页面上
我假设为了获得令牌,我需要登录方法中的$this->guard(web)
这是正确的方法还是我遗漏了什么?默认情况下,
routes/api.php
中定义的所有路由都具有api
中间件,如app/Providers/RouteServiceProvider::mapApiRoutes()
中所定义。因此,您始终需要传递api_令牌
您可以做的是,在api路由中,像这样定义登录路由
Route::post('login', 'api\AuthController@login'); //out of the group
从AngularJS发帖
$http.post({
url: 'http://localhost/api/login',
data: $scope.userda,
headers: {
Authorization: ''
}
}).then(...)
然后使用auth:api
Route::group(['middleware' => 'auth:api'], function(){
//Other routes here
});
在angular中,将授权头的值设置为
api\u token
。因此,在登录之前,它将是空的,在登录之后,它将具有用户api_令牌的值 默认情况下,routes/api.php
中定义的所有路由都具有api
中间件,如app/Providers/RouteServiceProvider::mapApiRoutes()
中所定义。因此,您始终需要传递api_令牌
您可以做的是,在api路由中,像这样定义登录路由
Route::post('login', 'api\AuthController@login'); //out of the group
从AngularJS发帖
$http.post({
url: 'http://localhost/api/login',
data: $scope.userda,
headers: {
Authorization: ''
}
}).then(...)
然后使用auth:api
Route::group(['middleware' => 'auth:api'], function(){
//Other routes here
});
在angular中,将授权头的值设置为
api\u token
。因此,在登录之前,它将是空的,在登录之后,它将具有用户api_令牌的值 您在这里的报价中缺少结束单报价auth:api
,第二个问题是如何在auth:api中间件中包装登录路由?令牌此时不存在。我需要在我的登录页面中使用用户名和密码的令牌。只有这样,我才能使用令牌打更多的电话。如果您需要有关我的问题的更多信息,请告诉我。我的登录路径不在群中。如何使用TokenGuard
登录?TokenGuard类有一个需要令牌的验证方法。。。但我的登录请求尚未获取令牌。我的意思是,为了从tokenguard验证用户名和密码,你将在控制器的登录方法中写入什么?哦,现在我明白你的意思了。在routes/web.php
中定义登录路径。您将有权访问普通身份验证。然后从那里返回Json(),并包含所有用户详细信息。所有的路由都要经过api
进行TokenGuard身份验证。为什么是webguard?为什么不是api guard?我不能使用api guard登录吗?您在这里的报价中缺少结束单报价auth:api
,第二个问题是如何在auth:api中间件中包装登录路由?令牌此时不存在。我需要在我的登录页面中使用用户名和密码的令牌。只有这样,我才能使用令牌打更多的电话。如果您需要有关我的问题的更多信息,请告诉我。我的登录路径不在群中。如何使用TokenGuard
登录?TokenGuard类有一个需要令牌的验证方法。。。但我的登录请求尚未获取令牌。我的意思是,为了从tokenguard验证用户名和密码,你将在控制器的登录方法中写入什么?哦,现在我明白你的意思了。在routes/web.php
中定义登录路径。您将有权访问普通身份验证。然后从那里返回Json(),并包含所有用户详细信息。所有的路由都要经过api
进行TokenGuard身份验证。为什么是webguard?为什么不是api guard?我不能使用api guard登录吗?