Remote user management feature in WSO2 Carbon products.

If you are familiar with WSO2 Carbon platform, You may already know that WSO2 Carbon platform provides ability to plug your enterprise user store in an easier way…. Your user store can be a LDAP, AD or any JDBC based user store and you only need to do some configuration changes in the user-mgt.xml file to get it works. This ability is available with all WSO2 Products as this feature is inherited from Carbon platform.

You can see, all WSO2 products contains a nice management console, where you can manage users and roles with connected user store. However, WSO2 Identity Server which is known as the identity and entitlement management product of the Carbon platform, contains special feature called remote user management feature where it exposes entire user management function as simple web service. (Basically It exposes your user store as web service API). Remote user management feature is not available with any other WSO2 product by default. But you can install it, if you want. Say, If you are already using some WSO2 product such as WSO2ESB, WSO2AS. Then actually you can use one of those existing WSO2 product as a remote user management server in your enterprise by installing this feature (Here, you need to consider about the deployment architecture, before you are using WSO2ESB or any other product as the user management server in your enterprise)

There are two easy ways that you can install remote user management feature in WSO2 Carbon based product.

1. Using P2 feature manager (Recommended Approach)

Step 1. Login to management console of the WSO2 product (Say WSO2AS)

Step 2. Go to Feature management UI

Step 3. Select correct P2 repository to be added; based on the product version.

a) Please use this release matrix to find out the Carbon version of your product.

As an example Carbon version of WSO2AS 5.2.0 is Turing (Or 4.2.0)

b) Select P2 repository URL from here  based on the Carbon version

Step 4 Add P2 repository

Step 5. Go to available features and Search for remote user management feature from the added P2 repository

Step 6 . Install seelcted feature

Step 7. Restart the server

You can access the WSDL of RemoteUserStoreManagerService service; Only If you have set “HideAdminServiceWSDLs” property to “false” in carbon.xml file which can be found at <CARBON_HOME>/repository/conf directory.

https://{IP}:{Port}/services/RemoteUserStoreManagerService?wsdl
<HideAdminServiceWSDLs>false</HideAdminServiceWSDLs>

2. Using dropins directory (Not Recommended Approach)

If you install using this approach, You are unable to use proper product patching mechanism.

Step1. Select WSO2 Identity Server version related to Your existing product version using release matrix that can be found here.

As an example, WSO2AS 5.2.0 is matching with the WSOIS 4.5.0 (As same Carbon version which is Turing)

Step2. Locate org.wso2.carbon.um.ws.service_4.2.0.jar file from WSO2IS distribution And Copy this jar file to other product’s <CARBON_HOME>/repository/components/dropins directory

Step3. Restart the server

As mentioned above you could access to WSDL.