当我执行登录时,未创建访问令牌,在日志文件中出现以下错误:
local.ERROR:资源所有者或授权服务器拒绝了该请求。
和
((InvalidArgumentException(code:0):JWT字符串必须在两个点处。
我使用失眠程序发出了请求,并且在那里一切正常,访问令牌出现在数据库中
我的功能登录:
public function login(Request $request)
{
$req = Request::create(route('passport.token'), 'POST', [
'grant_type' => 'password',
'client_id' => 2,
'client_secret' => 'lvDjvx5UgzeYJxQMjjLMSFL3psqXj2iuw2xLL6Yh',
'phone_number' => $request->phone_number,
'password' => $request->password,
]);
$response = app()->handle($req);
if ($response->status() == 400) {
return response()->json([
'message' => 'Н',
]);
} else if ($response->status() == 401) {
return response()->json([
'message' => '',
]);
}
return $response;
}
尝试此代码:
public function login(Request $request)
{
$req = Request::create(route('passport.token'), 'POST', [
'grant_type' => 'password',
'client_id' => Your client_id,
'client_secret' => 'Your client_secret ',
'phone_number' => $request->phone_number,
'password' => $request->password
]);
$response = app()->handle($req);
if ($response->status() === 400) {
return response()->json([
'message' => 'Н',
]);
}
if ($response->status() === 401) {
return response()->json([
'message' => '',
]);
}
return $response;
}
在模型用户中
public function findForPassport($identifier) {
return $this->where('phone_number', $identifier)->first();
}