我有一个phpleague / oauth2服务器实现,工作正常,即生成访问/刷新令牌,验证等。
我有以下问题。当我使用console curl的grant_type = refresh_token刷新令牌时,我成功获得了新的access_token,但是在使用测试执行此操作时:
&str
我再说一遍,在终端手动执行此操作正常。 在我自己调试之后,我发现刷新令牌验证失败了 在oauth2-server / src / Grant / RefreshTokenGrant.php:
$I->sendPOST('access_token', [
'grant_type' => 'password',
'client_id' => '111',
'client_secret' => '222',
'username' => 'exampleuser',
'password' => 'examplepass',
]);
$I->seeResponseCodeIs(200);
$I->seeResponseContainsJson(['token_type' => 'Bearer']);
// I receive a proper string, checked that out
$token = $I->grabDataFromResponseByJsonPath('$.refresh_token')[0];
$I->sendPOST('access_token', [
'grant_type' => 'refresh_token',
'client_id' => 1,
'client_secret' => 'pass2',
'refresh_token' => $token
]);
$I->seeResponseCodeIs(200); // Here I receive 403
...
但我仍然无法理解为什么它会手动工作。我做了urlencode / urldecode和大量的var转储,但仍然无法得到解决方案。