JBoss.orgCommunity Documentation
The eXo Collaboration bundle comes with a pre-configured Openfire server. It is bundled with some eXo plugins and configurations that allow connectivity with eXo Platform. The key properties for integration are:
provider.auth.className: An implementation of the AuthProvider interface for authentication of users on the Chat server.
provider.users.className: An implementation of the UserProvider interface to which Openfire will delegate users management.
provider.groups.className: An implementation of the GroupProvider interface to which Openfire will delegate groups management.
eXo Platform provides implementations for these 3 interfaces with ExoAuthProvider, ExoUserProvider, ExoGroupProvider. These implementations are based on the eXo REST framework and let you configure the endpoints within the openfire.xml file with additional properties:
Property | Default value | Description |
---|---|---|
eXo.env.serverBaseURL |
http://localhost:8080/##
| The base URL of the server. |
eXo.env.restContextName | rest | The context name of REST Web application. |
provider.authorizedUser.name | root
| The username to authenticate to access the HTTP REST service. |
provider.authorizedUser.password | gtn | The password matching with provider.authorizeduser.name. |
exoAuthProvider.authenticationURL |
/organization/authenticate/ | The URL to authenticate users. |
exoAuthProvider.authenticationMethod | POST | The HTTP method used for the authentication method. |
exoUserProvider.findUsersURL | /organization/xml/user/find-all/ | The URL to find all users. |
exoUserProvider.findUsersMethod | GET | The HTTP method used to find all users in the system. |
exoUserProvider.getUsersURL | /organization/xml/user/view-range/ | The URL to retrieve a range of users. |
exoUserProvider.getUsersMethod | GET | The HTTP method used for user/view-range. |
exoUserProvider.usersCountURL | /organization/xml/user/count | The URL to count the number of users. |
exoUserProvider.usersCountMethod | GET | The HTTP method used to count the number of users. |
exoUserProvider.userInfoURL | /organization/xml/user/info/ | The URL to get the information of users. |
exoUserProvider.userInfoMethod | GET | The HTTP method used to get the information of users. |
exoGroupProvider.groupInfoURL | /organization/xml/group/info/ | The URL to get the information of a group of users. |
exoGroupProvider.groupInfoMethod | GET | The HTTP method used to get the information of a group of users. |
exoGroupProvider.getGroupsAllURL | /organization/xml/group/view-all/ | The URL to view a list of all user groups. |
exoGroupProvider.getGroupsAllMethod | GET | The HTTP method used to view a list of all user groups. |
exoGroupProvider.getGroupsRangeURL | /organization/xml/group/view-from-to/ | The URL to list groups in a specific range. |
exoGroupProvider.getGroupsRangeMethod | GET | The HTTP method used to list groups in a specific range. |
exoGroupProvider.getGroupsForUserURL | /organization/xml/group/groups-for-user/ | The URL to list groups to which a user belongs. |
exoGroupProvider.getGroupsForUserMethod | GET | The HTTP method used to list groups to which a user belongs. |
exoGroupProvider.groupsCountURL | /organization/xml/group/count | The URL to count the number of groups. |
exoGroupProvider.groupsCountMethod | GET | The HTTP method used to count the number of groups. |
As you can see, the default settings will only work if eXo Platform is deployed on the same host as Openfire, on the port 8080.
restContextName is used to specify the Openfire server that is dedicated for the portal. If the eXo.env.restContextName system property exists, it will override this value.
The eXo.env.restContextName system property can be set by specifying the -D option to the Java command when running Openfire.
For example:
If the Openfire server is dedicated for the portal named "portal", the command will have the following format: java -DeXo.env.restContextName=rest -jar ../lib/startup.jar.
If the Openfire server is dedicated for the portal named "csdemo", the command will have following format: java -DeXo.env.restContextName=rest-csdemo -jar ../lib/startup.jar.
By default, the Openfire server is dedicated to the portal named "portal".