Laravel护照。为什么我不能创建访问令牌?

问题描述 投票:0回答:1

当我执行登录时,未创建访问令牌,在日志文件中出现以下错误:

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;
}
laravel laravel-passport
1个回答
0
投票

尝试此代码:

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();
    }
© www.soinside.com 2019 - 2024. All rights reserved.