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.
...
- The browser is either unable to do the IWA authentication or it is not configured to use the IWA authentication properly. The web server should be added to the trusted websites of the browser.
- For Internet explorer, go to “Tools → Internet Options” and in the “security” tab select local intranet.
- Click the Sites button. Then add the URL of WSO2 Identity Server there.
- For Firefox, type “about:config” in the address bar, ignore the warning and continue, this displays the advanced settings of Firefox. In the search bar, search for the key "network.negotiate-auth.trusted-uris" and add the WSO2 Identity Server URL there.
- For Internet explorer, go to “Tools → Internet Options” and in the “security” tab select local intranet.
- The user may be attempting to access the WSO2 Identity Server from outside the domain of the user.
- The user may not have the sufficient permission within WSO2 Identity Server to log in to the system.
...