【发布时间】:2017-10-21 15:43:27
【问题描述】:
身份验证正在运行,我在auth 中间件下有一些路由,每当我请求它时都会抛出:
{
"message": "Failed to authenticate because of bad credentials or an invalid authorization header.",
"status_code": 401
}
我怎样才能发送带有请求的令牌:
Authorization bearer {{Long token}}
It works with `postman`, How can i send the token with request header, Or in any other best way.
路线:
$api->get('/categories', [
'uses' => 'App\Http\Controllers\CategoryController@index',
'as' => 'api.categories',
]);
方法:
public function index() {
$lessons = \App\Category::all();
$token = JWTAuth::getToken(); // $token have jwt token
return response()->json([
'data' => $lessons,
'code' => 200,
]);
}
【问题讨论】:
-
你是如何调用 api 的?您必须由调用者在标题或查询字符串中进行设置。尝试将
?token={tokenvalue}添加到您的 api 链接并进行测试。 -
@sandeesh 是的,我正在使用
postman,我手动将令牌放入标题中。 -
那你的问题到底是什么?如果它在邮递员中有效,那么在以其他方式调用它时也应该这样做。除了邮递员之外,您打算如何调用 api?请在您的问题中更具体。
-
@sandeesh 用户无法给出token i地址,有一种方法可以让api自动获取认证用户的token!
-
这不是 api 的工作方式。您需要随每个请求发送令牌。你还是没有回答我的问题。除了邮递员,你打算如何使用 api?通过ajax前端?移动应用?第三方api?提问时请具体。通常,当用户执行登录或注册时会生成一个令牌,并且此令牌会在 api 响应中发回。 api 的调用者需要在本地存储此令牌,具体取决于调用它的平台。然后在每个请求中使用这个本地存储的令牌。
标签: laravel api authorization jwt lumen