Set WSO2 identity provider as default IDP for new applications

 ̄綄美尐妖づ 提交于 2019-12-30 13:25:17

问题


I am using WSO2 Identity Server 5.1.0 and configured ADFS as an Identity Provider using the management console. I tested the created IDP by selecting it in one of my service provider and all is working as expected.

Now I want to set up the ADFS IDP as the default IDP. For that I configured the file (identity/service-providers/default.xml) as explained in this post. The problem is that when I try to access my application, I get the following error:

    TID: [-1234] [] [2016-02-11 16:21:46,521] ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator} -  Exception in Authentication Framework 
java.lang.NullPointerException
    at org.wso2.carbon.identity.application.authentication.framework.config.builder.UIBasedConfigurationBuilder.loadFederatedAuthenticators(UIBasedConfigurationBuilder.java:169)
    at org.wso2.carbon.identity.application.authentication.framework.config.builder.UIBasedConfigurationBuilder.getSequence(UIBasedConfigurationBuilder.java:108)
    at org.wso2.carbon.identity.application.authentication.framework.config.ConfigurationFacade.getSequenceConfig(ConfigurationFacade.java:66)
    at org.wso2.carbon.identity.application.authentication.framework.handler.request.impl.DefaultRequestCoordinator.findPreviousAuthenticatedSession(DefaultRequestCoordinator.java:302)

Here is the configuration I used:

<ServiceProvider>
    <ApplicationID>1</ApplicationID>
    <ApplicationName>default</ApplicationName>
    <Description>Default Service Provider</Description>
    <InboundAuthenticationConfig>
            <InboundAuthenticationRequestConfigs>
                    <InboundAuthenticationRequestConfig>
                            <InboundAuthKey>default</InboundAuthKey>
                            <InboundAuthType></InboundAuthType>
                            <Properties></Properties>
                    </InboundAuthenticationRequestConfig>
            </InboundAuthenticationRequestConfigs>
    </InboundAuthenticationConfig>
    <LocalAndOutBoundAuthenticationConfig>
            <AuthenticationSteps>
                    <AuthenticationStep>
                            <StepOrder>1</StepOrder>
                            <FederatedIdentityProviders>
                                <IdentityProvider>
                                    <IdentityProviderName>adfs-idp</IdentityProviderName>
                                    <IsEnabled>true</IsEnabled>
                                    <DefaultAuthenticatorConfig>
                                        <FederatedAuthenticatorConfig>
                                            <Name>SAMLSSOAuthenticator</Name>
                                            <DisplayName>samlsso</DisplayName>
                                            <IsEnabled>true</IsEnabled>
                                        </FederatedAuthenticatorConfig>
                                    </DefaultAuthenticatorConfig>
                                </IdentityProvider>
                            </FederatedIdentityProviders>
                    </AuthenticationStep>
            </AuthenticationSteps>
    </LocalAndOutBoundAuthenticationConfig>
    <RequestPathAuthenticatorConfigs></RequestPathAuthenticatorConfigs>
    <InboundProvisioningConfig></InboundProvisioningConfig>
    <OutboundProvisioningConfig></OutboundProvisioningConfig>
    <ClaimConfig>
      <AlwaysSendMappedLocalSubjectId>true</AlwaysSendMappedLocalSubjectId>
   </ClaimConfig>
    <PermissionAndRoleConfig></PermissionAndRoleConfig>

"adfs-idp" is the name I used for the Identity Provider Name when I registered the IDP in the management console.


回答1:


To solve the issue I had to change some xml elements in the FederatedIdentityProviders like below.

<FederatedIdentityProviders>
 <IdentityProvider>
     <IdentityProviderName>adfs-idp</IdentityProviderName>
     <IsEnabled>true</IsEnabled>
     <FederatedAuthenticatorConfigs>
         <FederatedAuthenticatorConfig>
             <Name>SAMLSSOAuthenticator</Name>
             <DisplayName>samlsso</DisplayName>
             <IsEnabled>true</IsEnabled>
         </FederatedAuthenticatorConfig>
     </FederatedAuthenticatorConfigs>
     <DefaultAuthenticatorConfig>SAMLSSOAuthenticator</DefaultAuthenticatorConfig>
 </IdentityProvider>
</FederatedIdentityProviders>


来源:https://stackoverflow.com/questions/35343448/set-wso2-identity-provider-as-default-idp-for-new-applications

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!