Skip to content

Commit fbba9a3

Browse files
julien-ncbackportbot[bot]
authored andcommitted
fix(oauth): make the throttling reason more specific
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
1 parent 6a2ae01 commit fbba9a3

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

apps/oauth2/lib/Controller/OauthApiController.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,9 @@ public function getToken(
197197
$newToken = $this->secureRandom->generate(72, ISecureRandom::CHAR_ALPHANUMERIC);
198198
$newCode = $this->secureRandom->generate(128, ISecureRandom::CHAR_ALPHANUMERIC);
199199
$newEncryptedToken = $this->crypto->encrypt($newToken, $newCode);
200+
$redeemedThrottleReason = $grant_type === 'authorization_code'
201+
? 'authorization_code_already_redeemed'
202+
: 'refresh_token_already_redeemed';
200203
$tokenRotated = false;
201204

202205
$this->db->beginTransaction();
@@ -227,7 +230,7 @@ public function getToken(
227230
$response = new JSONResponse([
228231
'error' => 'invalid_request',
229232
], Http::STATUS_BAD_REQUEST);
230-
$response->throttle(['invalid_request' => 'token already redeemed']);
233+
$response->throttle(['invalid_request' => $redeemedThrottleReason]);
231234
return $response;
232235
}
233236

apps/oauth2/tests/Controller/OauthApiControllerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,7 @@ public function testRefreshTokenRedeemedConcurrently(): void {
672672
$expected = new JSONResponse([
673673
'error' => 'invalid_request',
674674
], Http::STATUS_BAD_REQUEST);
675-
$expected->throttle(['invalid_request' => 'token already redeemed']);
675+
$expected->throttle(['invalid_request' => 'refresh_token_already_redeemed']);
676676

677677
$accessToken = new AccessToken();
678678
$accessToken->setId(21);

0 commit comments

Comments
 (0)