3.2.7 Integrating Crowd with a Custom Application

Crowd 1.0 Documentation

Crowd ships with out-of-the-box support for a number of applications. You can also integrate Crowd with other applications as follows:

Step 1. Configuring Crowd to talk to your Application

Please see 3.2 Adding an Application.

Step 2. Configuring your Application to talk to Crowd

2.1 Developing a Crowd Client 

If your application is not listed in 1.1.1 Supported Applications and Directories then you will need to create your own Crowd Client for your application, using the Crowd SOAP API.
For assistance, please see Creating a Crowd Client for your Custom Application.

2.2 Configuring your Application

The integration libraries and configuration files are included in the Crowd download, in the client folder. You will find the Crowd integration library, and the client libraries on which the framework depends, in the lib folder. An example client properties file crowd.properties is located in the conf folder.

To configure your application, perform the following:

  1. Copy the Crowd Client and supporting libraries to your application classpath, typically WEB-INF/lib.
    • These files will be in the client folder similar to crowd-core-0.4.1.jar and all supporting jars in the client/lib folder.
  2. Copy the client properties file crowd.properties to your application's deployment directory, typically WEB-INF/classes.
  3. Edit the crowd.properties file to reflect the values of your deployment parameters. The crowd.properties attributes are as follows:
Attribute Description
application.name The name that the application will use when authenticating with the Crowd server.

This needs to match the name you specified in 3.2 Adding an Application.
application.password The password that the application will use when authenticating with the Crowd server.

This needs to match the password you specified in 3.2 Adding an Application.
application.login.url The URL to which to redirect the principal should their authentication token expire or be invalid due to security restrictions.
crowd.server.url The URL to use when connecting with the integration libraries to communicate with the Crowd server.
session.isauthenticated The session key to use when storing a Boolean value indicating whether the principal is authenticated or not.
session.tokenkey The session key to use when storing a String value of the principal's authentication token.
session.validationinterval The session key to use when storing an Integer value of the number of minutes between authentication validation. If this value is set to 0, each HTTP request will be authenticated.
session.lastvalidation The session key to use when storing a Date value of the principal's last authentication.

Related Topics  

Crowd 1.0 Documentation  

Labels:

CROWD10 CROWD10 Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Dec 26, 2006

    Anonymous says:

    Hi, just went through this. Can you make this page a little clearer with respect...

    Hi, just went through this. Can you make this page a little clearer with respect to where the files should go?

    I got it to work by taking the files in the client directory and putting them in the WEB-INF/classes folder. I then took the files in the lib directory and put them in the WEB-INF/lib directory. It already had some, so I chose not to overwrite the ones there with the new ones.

    I then took the conf file and dropped that in the WEB-INF/classes folder and edited it.

    A startup of my combined Jira and Confluence install started without issues.

  2. Dec 27, 2006

    Anonymous says:

    I've done this integration with Jira and Confluence. I found the above documenta...

    I've done this integration with Jira and Confluence. I found the above documentation somewhat vague and therefore offer this re-write which I hope will make it into the final document. I've used the \ as directory delimiter as I am working on Windows. Please keep in mind this may have to be different in Linux/Unix solutions.

    1. Copy the Crowd "client"  directory into the "<atlassianproduct>\WEB-INF" directory.
    2. Go into the "client" directory and select the two jar files and use the menu's/keys to copy them
    3. Go to the "<atlassianproduct>\WEB-INF\lib directory and paste the two files there
    4. Go back to the "client\lib" directory and select all files (but see CAUTION below!) and use the menu's/keys to copy them.
      CAUTION: In case of Confluence, you must not select the "spring-1.2.8.jar" file here (Confluence 2.2.10, Crowd 0.3), only the other files!
    5. Go to the "<atlassianproduct>\WEB-INF\lib directory and paste the files there. Do NOT overwrite similar files already there.
    6. Go back to the "client\conf" directory and select the "crowd.properties" file use the menu's/keys to copy it
    7. Paste the file in the "<atlassianproduct>\WEB-INF\classes" directory
    8. Edit the "crowd.properties file <see description above, to be merged with this new text once document is updated please>
    9. When you're done with these steps, go back to the previous page and take careful note of what needs to be configured in Crowd for Applications and Groups to make the integration work.
      NOTE: For Jira, don't forget to set the General Configurations for external user/password management.

    This completes my additions to the document, hopefully this can be merged soon.

  3. Feb 10, 2007

    Anonymous says:

    Hello,\\ Can some one please write how one can configure some php applications i...

    Hello,

    Can some one please write how one can configure some php applications i..e such as MediaWiki or Horde to use crowd based authentication. I see no reference at all to non-java applications.

    Thanks

    Asif

  4. Feb 12, 2007

    Anonymous says:

    All nonjava based clients can try using the SOAP interface.\\

    All non-java based clients can try using the SOAP interface.