Documentation for Crowd 2.3. Documentation for other versions of Crowd is available too.
Crowd provides single sign-on (SSO) across a number of applications. This means that users can log in just once, then access the applications without having to log in to each one individually. The SSO functionality is available for applications within a single domain, such as JIRA, Confluence and others. You can also extend SSO to beyond-the-firewall applications using CrowdID for OpenID and Crowd's Google Apps connector.
This page gives an overview of Crowd's SSO capabilities, plus links to detailed information on configuring Crowd and the applications concerned.
On this page:
The core Crowd functionality supports SSO across applications within a single domain, such as *.mydomain.com
. Crowd uses a browser cookie to manage SSO. Because your browser limits cookie access to hosts in the same domain, this means that all applications participating in SSO must be in the same domain.
Example 1: If you wish to have single sign-on (SSO) support for *.mydomain.com, you will need to configure the SSO domain in Crowd as .mydomain.com
— including the full stop ('.') at the beginning. All your Crowd-connected applications must be in the same domain. For example:
Crowd |
|
|
---|---|---|
Jira |
|
|
Confluence |
|
|
FishEye |
|
|
FishEye in different domain |
|
|
Example 2: If you wish to have single sign-on (SSO) support for mydomain.com/*, you will need to configure the SSO domain in Crowd as mydomain.com
. All your Crowd-connected applications must be in the same domain. For example:
Crowd |
|
|
---|---|---|
Jira |
|
|
Confluence |
|
|
FishEye |
|
|
FishEye in different domain |
|
|
You can find information the comparison of host name strings in RFC 2965 (pages 2 and 3).
You can configure the SSO domain via the Crowd Administration Console, as described in the documentation.
The diagram below gives a conceptual overview of an HTTP request passing through an SSO filter and moving directly through the application business logic to create the response. (Click the link below the diagram to see a larger version.)
The diagram shows the 'happy path' only, assuming that:
The diagram illustrates the following steps:
Here is a an overview of servlet filters from Sun and a useful tutorial from O'Reilly.
The SSO filter may be provided by a security framework or by custom code as follows:
Security Framework or Custom Code |
コメント |
---|---|
Framework: Atlassian Seraph |
Most of the Atlassian applications use Seraph. The Crowd documentation tells you how to integrate SSO into Confluence, JIRA, Bamboo, etc. If you are integrating a custom application with Crowd, you may also decide to use Seraph as your security framework. |
Framework: Spring Security |
You may have a web application that uses the Spring Security framework and that you are now integrating with Crowd. The Crowd documentation tells you how to integrate SSO into a Spring Security-based application. |
Framework: Acegi Security (old) |
You may have a web application that uses the Acegi Security framework and that you are now integrating with Crowd. The Crowd documentation tells you how to integrate SSO into an Acegi-based application. |
Custom authentication for Atlassian FishEye and Crucible |
Crowd provides a custom integration with FishEye and/or Crucible, including SSO. See the Crowd documentation. |
Crowd API for your custom application |
When integrating your own web application with Crowd, you can use the Crowd API to implement SSO.
|
Below are the configuration settings which affect SSO:
Short Description |
詳細情報 |
---|---|
Set your SSO domain |
Set the domain via the Crowd Administration Console, as described in the documentation. |
Optional: Configure Trusted Proxy Servers |
Configure Crowd to trust a proxy's IP address, if you are running applications behind one or more proxy servers. See the documentation. |
Optional: Enforce a secure connection, such as SSL, for all SSO requests |
You can specify that the 'secure' flag is set on the SSO cookie, as described in the documentation. |
When integrating an application with Crowd, you will configure the application to use Crowd as a centralised authentication repository. For most applications, but not all, you can also choose to configure SSO. This is described in detail for each application:
See Troubleshooting SSO with Crowd.
Crowd allows you to extend SSO to beyond-the-firewall applications using CrowdID and Crowd's Google Apps connector.
Crowd allows you to host an OpenID provider, called CrowdID, so that your users have a single point of authentication for all OpenID-enabled websites. Refer to the CrowdID Administration Guide and CrowdID User Guide.
OpenID is an open, free protocol which allows a user to have a single identifier for logging in to any OpenID-enabled website. The website will communicate with a specific OpenID provider (in this case, your CrowdID server) when attempting to verify the user's login. For example, if your team uses 37signals' CRM tool Highrise, using Crowd's OpenID provider means you can get SSO between Highrise and your behind-the-firewall applications for all your team.
Crowd offers SSO with Google Apps via the Google Apps connector shipped with your Crowd installation. This means that your users can log in just once and then move between Google Apps and other applications like JIRA, Confluence, etc.
Managing Applications
System Administration
Crowd Documentation