1
votes

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

1 Answers

1
votes

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>