diff --git a/pom.xml b/pom.xml index 3656663..c7d7bf5 100644 --- a/pom.xml +++ b/pom.xml @@ -11,7 +11,7 @@ org.ligoj.plugin plugin-id - 2.1.8-SNAPSHOT + 2.2.0-SNAPSHOT jar Ligoj - Plugin ID https://github.com/ligoj/plugin-id diff --git a/src/main/java/org/ligoj/app/plugin/id/resource/AbstractPluginIdResource.java b/src/main/java/org/ligoj/app/plugin/id/resource/AbstractPluginIdResource.java index 73e9bea..be923c1 100644 --- a/src/main/java/org/ligoj/app/plugin/id/resource/AbstractPluginIdResource.java +++ b/src/main/java/org/ligoj/app/plugin/id/resource/AbstractPluginIdResource.java @@ -65,6 +65,10 @@ public Authentication authenticate(final Authentication authentication, final St // Authenticate the user final var user = repository.authenticate(authentication.getName(), (String) authentication.getCredentials()); if (user != null) { + if (primary && user.getId().equals(authentication.getName())) { + // Return the provided authentication + return authentication; + } // Return a new authentication based on resolved application user return primary ? new UsernamePasswordAuthenticationToken(user.getId(), null) : new UsernamePasswordAuthenticationToken(toApplicationUser(repository, authentication), null);