Add missing isUsed override to OidcAuthentication code.

This commit is contained in:
Hardy Pottinger
2022-01-05 14:46:12 -06:00
parent e8aa946963
commit e6012b0ef7
2 changed files with 25 additions and 0 deletions

View File

@@ -51,6 +51,8 @@ public class OidcAuthenticationBean implements AuthenticationMethod {
private static final Logger LOGGER = LoggerFactory.getLogger(OidcAuthenticationBean.class);
private static final String OIDC_AUTHENTICATED = "oidc.authenticated";
@Autowired
private ConfigurationService configurationService;
@@ -129,6 +131,7 @@ public class OidcAuthenticationBean implements AuthenticationMethod {
EPerson ePerson = ePersonService.findByEmail(context, email);
if (ePerson != null) {
request.setAttribute(OIDC_AUTHENTICATED, true);
return ePerson.canLogIn() ? logInEPerson(context, ePerson) : BAD_ARGS;
}
@@ -256,4 +259,14 @@ public class OidcAuthenticationBean implements AuthenticationMethod {
this.oidcClient = oidcClient;
}
@Override
public boolean isUsed(final Context context, final HttpServletRequest request) {
if (request != null &&
context.getCurrentUser() != null &&
request.getAttribute(OIDC_AUTHENTICATED) != null) {
return true;
}
return false;
}
}