Skip to content

Commit 0ea888d

Browse files
committed
Fixed: looking up builtin user by username when API_BEARER_AUTH_USE_BUILTIN_USER_ON_ID_MATCH enabled
1 parent 020103f commit 0ea888d

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/main/java/edu/harvard/iq/dataverse/authorization/AuthenticationServiceBean.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
import jakarta.validation.Validation;
6666
import jakarta.validation.Validator;
6767
import jakarta.validation.ValidatorFactory;
68+
import org.apache.commons.logging.Log;
6869

6970
/**
7071
* AuthenticationService is for general authentication-related operations.
@@ -996,7 +997,7 @@ public AuthenticatedUser lookupUserByOIDCBearerToken(String bearerToken) throws
996997
// Tokens in the cache should be removed after some (configurable) time.
997998
OAuth2UserRecord oAuth2UserRecord = verifyOIDCBearerTokenAndGetOAuth2UserRecord(bearerToken);
998999
if (FeatureFlags.API_BEARER_AUTH_USE_BUILTIN_USER_ON_ID_MATCH.enabled()) {
999-
AuthenticatedUser builtinAuthenticatedUser = lookupUser(BuiltinAuthenticationProvider.PROVIDER_ID, oAuth2UserRecord.getUserRecordIdentifier().getUserIdInRepo());
1000+
AuthenticatedUser builtinAuthenticatedUser = lookupUser(BuiltinAuthenticationProvider.PROVIDER_ID, oAuth2UserRecord.getUsername());
10001001
return (builtinAuthenticatedUser != null) ? builtinAuthenticatedUser : lookupUser(oAuth2UserRecord.getUserRecordIdentifier());
10011002
}
10021003
return lookupUser(oAuth2UserRecord.getUserRecordIdentifier());

src/test/java/edu/harvard/iq/dataverse/authorization/AuthenticationServiceBeanTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ void testLookupUserByOIDCBearerToken_oneProvider_validToken_userNotPresentAsBuil
143143

144144
// Assert that the first call was with expected parameters
145145
assertEquals(BuiltinAuthenticationProvider.PROVIDER_ID, providerIdCaptor.getAllValues().get(0));
146-
assertEquals("testUserId", userIdCaptor.getAllValues().get(0));
146+
assertEquals("testUsername", userIdCaptor.getAllValues().get(0));
147147
}
148148

149149
@Test
@@ -173,7 +173,7 @@ void testLookupUserByOIDCBearerToken_oneProvider_validToken_userIsPresentAsBuilt
173173

174174
// Assert that lookupUser is called with expected parameters
175175
assertEquals(BuiltinAuthenticationProvider.PROVIDER_ID, providerIdCaptor.getAllValues().get(0));
176-
assertEquals("testUserId", userIdCaptor.getAllValues().get(0));
176+
assertEquals("testUsername", userIdCaptor.getAllValues().get(0));
177177
}
178178

179179
private void setupAuthenticatedUserQueryWithNoResult() {

0 commit comments

Comments
 (0)