diff --git a/components/org.wso2.carbon.identity.oauth.endpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java b/components/org.wso2.carbon.identity.oauth.endpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java index 87582e9a24..c64baee318 100644 --- a/components/org.wso2.carbon.identity.oauth.endpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java +++ b/components/org.wso2.carbon.identity.oauth.endpoint/src/main/java/org/wso2/carbon/identity/oauth/endpoint/authz/OAuth2AuthzEndpoint.java @@ -4206,6 +4206,21 @@ private void associateAuthenticationHistory(SessionDataCacheEntry resultFromLogi */ private List getAMRValues(List authMethods, Map authenticatedIdPs) { + boolean authenticatorAMREnabled = true; + if (authenticatorAMREnabled) { + List resultantAuthMethods = new ArrayList<>(); + for (Map.Entry entry : authenticatedIdPs.entrySet()) { + if (entry.getValue() != null && entry.getValue().getAuthenticators() != null) { + for (AuthenticatorConfig authenticatorConfig : entry.getValue().getAuthenticators()) { + if (authenticatorConfig != null && authenticatorConfig.getAmrValue() != null) { + resultantAuthMethods.addAll(Arrays.asList(authenticatorConfig.getAmrValue())); + } + } + } + } + return resultantAuthMethods; + } + boolean readAMRValueFromIdp = Boolean.parseBoolean(IdentityUtil.getProperty( OAuthConstants.READ_AMR_VALUE_FROM_IDP)); if (readAMRValueFromIdp) {