したがって、別のLaravelアプリケーションで使用しているPassportを使用して、1つのLaravelアプリケーションでAPIを設定してください。ほとんどすべてがうまくいきますが、リフレッシュトークンを使用しようとすると、パスポート側でリフレッシュトークンが無効であるというメッセージが表示されます。私はリフレッシュ・トークンをデータベース・フィールドに2000文字の長さで格納しています。十分でない場合、またはリフレッシュ機能の何かが間違っているかどうか疑問です。何か案は?オーケーLaravel Passportがリフレッシュトークンが無効であると言っています
private function refreshToken($token) {
$http = $this->newClient();
try {
$response = $http->post($this->_url . '/oauth/token', [
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => $token->refresh_token,
'client_id' => $this->_clientId,
'client_secret' => $this->_secretKey,
'scope' => 'products orders',
],
]);
} catch(\Exception $ex) {
Log::error($ex);
$token = $this->newToken();
return $token;
}
$token = Token::saveToken($response);
return $token;
}
パスポートでリフレッシュトークン用のJWTを使用していますか?もしそうなら、JWTを調べて、新しいアクセストークンを取得するための正しいデータがあるかどうか確認してみましたか? – georaldc
私はそれがJWTだとは限りませんが、似たようなものです。私はリフレッシュトークンが含まれていることを確認することを考えました(90%確信しています)。しかし、朝にもう一度チェックします。 – llhilton