Laravel 护照 refresh_token 范围相同

Laravel Passport refresh_token with same scope

我有一个问题,希望你能帮忙:)

我正在使用 Laravel Passport 来处理我的 webApp 的身份验证。我能够毫无问题地生成访问令牌和刷新令牌。

当我尝试刷新令牌时出现问题。我根据Laravel的文档写了代码:

public function refresh_token(Request $request){
    $refresh_token = $request->cookie('refresh_token');

    $http = new \GuzzleHttp\Client([
        'base_uri' => env('OAUTH_PWD_GRANT_BASE_URL'),
        'http_errors' => false
    ]);
    
    
    $response = $http->post('/oauth/token', [
        'form_params' => [
            'grant_type' => 'refresh_token',
            'refresh_token' => $refresh_token,
            'client_id' => env('OAUTH_PWD_GRANT_CLIENT_ID'),
            'client_secret' => env('OAUTH_PWD_GRANT_CLIENT_SECRET'),
            'scope' => '',
        ],
    ]);
    return $this->login_helper(json_decode((string) $response->getBody(), true));
}

这是我的问题:我希望我的新访问令牌具有与提供的 refresh_token 相同的范围(或者更准确地说,与 access_token 关联的 refresh_token ).

我该怎么做?

我试图查看数据库以找到我的 refresh_token,并获得关联的 access_token,但不清楚如何访问 refresh_token(refresh_token 我在 Cookie 中设置的内容没有出现在数据库中 - 我不了解其背后的机制)。

非常感谢您的帮助!

好的,经过测试,我发现当你在刷新令牌的请求中放入'scope' => ''时,你得到的是相同的范围。 :-)

我之前应该检查过(我认为它返回的是一个空范围 - 虽然这是一个奇怪的实现 - 非常有用,但很奇怪)^^