Skip to content

Commit 352d6a1

Browse files
author
Tom Reay
committed
Fix refresh token always being reused - allow the implementor to create a new refresh token each time (Fixes #29)
1 parent 9346767 commit 352d6a1

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

oauth2-server-core/src/main/java/nl/myndocs/oauth2/Oauth2TokenService.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,11 @@ class Oauth2TokenService(
143143
refreshToken.username,
144144
refreshToken.clientId,
145145
refreshToken.scopes,
146-
refreshToken
146+
refreshTokenConverter.convertToToken(
147+
refreshToken.username,
148+
refreshToken.clientId,
149+
refreshToken.scopes
150+
)
147151
)
148152

149153
tokenStore.storeAccessToken(accessToken)

oauth2-server-core/src/test/java/nl/myndocs/oauth2/RefreshTokenGrantTokenServiceTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ internal class RefreshTokenGrantTokenServiceTest {
6161
fun validRefreshToken() {
6262
val client = Client(clientId, setOf("scope1", "scope2"), setOf(), setOf(AuthorizedGrantType.REFRESH_TOKEN))
6363
val token = RefreshToken("test", Instant.now(), username, clientId, scopes)
64-
val newRefreshToken = RefreshToken("test", Instant.now(), username, clientId, scopes)
64+
val newRefreshToken = RefreshToken("new-test", Instant.now(), username, clientId, scopes)
6565
val accessToken = AccessToken("test", "bearer", Instant.now(), username, clientId, scopes, newRefreshToken)
6666
val identity = Identity(username)
6767

@@ -70,7 +70,7 @@ internal class RefreshTokenGrantTokenServiceTest {
7070
every { tokenStore.refreshToken(refreshToken) } returns token
7171
every { identityService.identityOf(client, username) } returns identity
7272
every { refreshTokenConverter.convertToToken(username, clientId, scopes) } returns newRefreshToken
73-
every { accessTokenConverter.convertToToken(username, clientId, scopes, token) } returns accessToken
73+
every { accessTokenConverter.convertToToken(username, clientId, scopes, newRefreshToken) } returns accessToken
7474

7575
tokenService.refresh(refreshTokenRequest)
7676

0 commit comments

Comments
 (0)