WSO2 identity server Identity Server is capable of running in multiple platforms. However, the Integrated Windows Authentication (IWA) authenticator is designed only for the Windows server and enabling theIWA authenticator may cause conflict with other authenticators. Therefore, the IWA authenticator is not enabled in WSO2 Identity Server by default but can be enabled in WSO2 Identity Server with some configurations. For more information on how IWA is used for single-sign-on, see the Integrated Windows Authentication page.
...
- Download the WSO2 Identity Server from the product page.
- Extract the ZIP file in the file system.
- Open the
<wso2is_home>/repository/conf/user-mgt.xml
file and configure it to use your Active Directory as the user store (WSO2 is configured to use a built-in LDAP server by default). See Configuring Primary User Stores on how to configure a primary user store and then go to Active Directory user store configuration section to get Active Directory specific configurations. - Start the WSO2 Identity Server with
<wso2is_home>/bin/wso2server.bat
and check whether the user store is configured properly before the IWA is activated. - Start from this step if you have WSO2 Identity Server already configured to use Active Directory.
- Stop the WSO2 Identity Server if the server is already running.
Open the
<wso2is_home>/repository/conf/security/authenticators.xml
file and add the following lines inside the <Authenticators> tag.Code Block language html/xml <Authenticator name="IWAUIAuthenticator" disabled="false"> <Priority>5</Priority> </Authenticator>
This indicates to the WSO2 Identity Server that "IWAUIAuthenticator" is to be enabled with a priority level of 5.
Open the
<wso2is_home>/repository/conf/tomcat/web.xml
file and add the following lines just before "</web-app>".Code Block language html/xml <security-constraint> <display-name>Security Constraint for IWA</display-name> <web-resource-collection> <web-resource-name>Protected Area</web-resource-name> <url-pattern>/</url-pattern> <http-method>DELETE</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> </web-resource-collection> <auth-constraint> <role-name>Everyone</role-name> </auth-constraint> </security-constraint>
This prevents unauthorized access to the WSO2 Identity Server and redirects the requests to the authenticator to authenticate them.
Open the
<wso2is_home>/repository/conf/tomcat/carbon/META-INF/context.xml
and add the following lines just before "</Context>".Code Block language html/xml <Valve className="waffle.apache.NegotiateAuthenticator" principalFormat="fqn" roleFormat="both"/> <Realm className="waffle.apache.WindowsRealm"/>
This uses Valve and Realm from Waffle library which is used to negotiate authentication.
- Start the WSO2 Identity Server. Now the server is configured to use the IWA authenticator.
...