diff --git a/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/internal/core/ApplicationAuthenticatorManager.java b/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/internal/core/ApplicationAuthenticatorManager.java index 2b3caccb6a92..ab3b6827049e 100644 --- a/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/internal/core/ApplicationAuthenticatorManager.java +++ b/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/internal/core/ApplicationAuthenticatorManager.java @@ -36,6 +36,8 @@ import java.util.ArrayList; import java.util.List; +import static org.wso2.carbon.identity.application.authentication.framework.util.FrameworkConstants.LOCAL_IDP_NAME; + /** * This class is used to manage the ApplicationAuthenticator instances. */ @@ -211,8 +213,12 @@ public IdentityProvider getSerializableIdPByResourceId(String resourceId, String a FederatedAuthenticatorConfig instance. */ IdentityProviderManager manager = (IdentityProviderManager) FrameworkServiceDataHolder.getInstance().getIdentityProviderManager(); - return gson.fromJson( - gson.toJson(manager.getIdPByResourceId(resourceId, tenantDomain, false)), - IdentityProvider.class); + IdentityProvider idp = manager.getIdPByResourceId(resourceId, tenantDomain, false); + + if (LOCAL_IDP_NAME.equals(idp.getIdentityProviderName())) { + return idp; + } + + return gson.fromJson(gson.toJson(idp), IdentityProvider.class); } }