This page last changed on Mar 07, 2007 by shamid.
Jive Forums offers you the ability to specify an implementation to provide authentication and authorisation external to the application. This document outlines how to integrate Crowd's authenticator with Jive Forums.
Currently Crowd provides centralised authentication for Jive users. Full SSO with Jive is a soon to be implemented feature (CWD-195).
Prerequisites
- Download and configure Crowd. Refer to the installation guide for detailed information on how to do this. We will refer to the Crowd root folder as CROWD.
- Configure Jive Forums. Refer to the relevant Jive Forums documentation for information regarding this installation process. The documentation is usually supplied with the software distribution. Do not attempt to use Crowd as the authentication system during the installation process (use the default authentication system for the installation process).
Configure Jive Forums WebApp
Jive Forums may be deployed on an application server as a single WAR file or a an exploded WAR folder. For the rest of the installation process, we will assume that Jive Forums has been set up as an exploded war file. If you need Jive Forums to be installed as a single WAR file, simply expand the WAR to a directory, make the changes as described below, and zip up the directory to form the WAR file. We will refer to the root folder of the Jive Forums web-app as JIVEFORUMS.
- Copy the Crowd integration libraries and configuration files (this is described in the Client Configuration documentation). This is summarised below:
Copy From |
Copy To |
CROWD/client/*.jar |
JIVEFORUMS/WEB-INF/lib |
CROWD/client/lib/*.jar |
JIVEFORUMS/WEB-INF/lib |
CROWD/client/conf/crowd.properties |
JIVEFORUMS/WEB-INF/classes |
- Examine the JIVEFORUMS/WEB-INF/lib folder and delete any duplicate JARs. Duplicate JARs represent common libraries used by both the Crowd client and Jive Forums. For Jive Forums 5.0.5, the duplicate JARs to delete are:
commons-codec-1.3.jar |
commons-collections-3.1.jar |
commons-httpclient-3.0.jar |
commons-logging-1.0.4.jar |
- Edit JIVEFORUMS/WEB-INF/classes/crowd.properties. Change the following properties:
Key |
Value |
application.name |
jiveforums |
application.password |
set a password |
Configure Jive Forums Directory/Users
The Jive Forums application will need to locate users from a directory configured in Crowd. You will need to set up a directory in Crowd for Jive. For more information on how to do this, view the documentation on Adding a Directory Connector. We will assume that the directory is called Jive Forum Directory for the rest of this document. It is possible to assign more than one directory for an application, but for the purposes of this example, we will use Jive Forum Directory to house Jive Forum users.
If you have an existing Jive Forums deployment and would like to import existing users (principals) into Crowd, use the Jive Importer tool by navigating Principals > Import Users > JIVE. Select the Jive Forum Directory as the directory into which Jive Forum users will be imported. The database drivers for the Jive Forums database will need to be on the Crowd's classpath. To do this, simply copy the database driver JAR for your particular Jive database across to CROWD/apache-tomcat-5.5.20/common/lib and restart Crowd. Note: the passwords for users in Jive will not be copied across to Crowd as they are stored as hashes in Jive's internal database.
Configure Jive Forums Application
Jive Forums needs to be configured in the Crowd console as an authenticated application. For reference, refer to the generic documentation about Adding an Application.
- Login to the Crowd Console (by default, this is http://localhost:8095/crowd/console) and click navigate to Applications > Add Application.
- Fill out the form to add the Jive Forums application:

The name and password values must match those set earlier in the JIVEFORUMS/WEB-INF/classes/crowd.properties.
Configure Authentication Permissions for the Application
Now that Crowd is aware of the Jive Forums application, Crowd needs to know which directories or users can authenticate (log in) via Crowd. You can either configure entire directories to authenticate or allow particular groups. In our example, we can simply allow the entire group to authenticate:

In a similar manner we can also allow the application to authenticate groups of users via the Groups tab. See the documentation regarding Managing an Integrated Application for more information.
Remote Addresses configuration:
- Jive is on a different host to Crowd
If you are running the Jive on a different host to Crowd, you will need to modify the permissible hosts via the Remote Addresses tab. This lists the hosts/IP addresses that are allowed to authenticate to Crowd. If Jive Forums is remote to Crowd, add the IP address of your Jive Forums server and ensure the "Status" field is set to "true". Remove the entry for localhost.
- Jive is on the same host as Crowd
By default, when you add an application, localhost is a permissible foreign host. However, you will also need to manually add the IP address 127.0.0.1, as incoming requests to Crowd from Jive (both on the same, local, host) may be from the host 127.0.0.1 and not localhost. Crowd does not do a DNS lookup of the hostname, rather, it compares the values as is. Ensure the "Status" field is set to "true".
Configure Jive Forums to use Crowd's Authenticator
Crowd is now set up to provide authentication services to Jive - now Jive needs to be set up to use Crowd's authenticator. There are a few ways of doing this, the most user-friendly method is outlined below:
- In your jiveHome directory, edit a file named jive_startup.xml. Modify the <setup> node to be false:
<jive>
<!-- When setup is false, you can access the setup tool. -->
<setup>false</setup>
...
</jive>
As the XML comment states, this let's us re-run Jive's setup.
- Restart Jive Forums so that it picks up the changes.
- View the Jive Forums site with a web browser (usually under the /jiveforums context-root. Jive will run the "Jive Forums Setup".
- In the Install Checklist screen, click continue to navigate through the setup process.
- In the Datasource Settings screen, re-enter your database configuration details and click continue.
- In the User System screen, select Custom authentication system and click continue:
- You should be at the Custom User System screen. Enter the following details which specify Crowd as the custom authenticator:
UserManager implementation:
com.atlassian.crowd.integration.jive.CrowdUserManager
GroupManager implementation:
Do not specifiy an implementation.
AuthFactory implementation:
com.atlassian.crowd.integration.jive.CrowdAuthFactory
Click continue.
If you have any errors at this stage, it is very likely that there is a classpath issue (eg. the Crowd client libraries aren't being properly loaded by Jive). Please read the documentation regarding INTEGRATING APPLICATIONS \- CROWD CLIENT LIBRARIES for help identifying the problem.
- In the Email Settings screen, re-enter your email configuration details and click continue.
- In the Admin Account Setup screen, do not enter any details, click skip this step.
 | Warning
The default administrator for Jive Forums is the user admin. This user will need to exist in your mapped directory to the application configuration for Jive Forums. Without this user, you will not be able to access the administration console of Jive Forums. |
- Bounce the server and test that Crowd is authenticating users for Jive. You could do this by creating users (principals) via the Crowd Console and verifying that they are able to log in to Jive Forums.
|