The Shibboleth software is a web-based single sign-on system made up of three components:
- The Identity Provider (IdP) is responsible for user authentication and providing user information to the Service Provider (SP). It is located at the home organization, which is the organization which maintains the user's account.
- The Service Provider (SP) is responsible for protecting an online resource and consuming information from the Identity Provider (IdP). It is located at the resource organization.
- The Discovery Service (DS) helps the Service Provider (SP) discover the user's Identity Provider (IdP). It may be located anywhere on the web and is not required in all cases.
The following diagram shows the interaction between the user, located at their web browser, the IdP, located at the home organization, and the SP, located at the resource organization.
- The SP detects the user attempting to access restricted content within the resource.
- The SP generates an authentication request, then sends the request, and the user, to the user's IdP.
- The IdP authenticates the user, then sends the authentication response, and the user, back to the SP.
- The SP verifies the IdP's response and sends the request through to the resource which returns the originally requested content.
Given this very basic familiarity with the Shibboleth components and their interactions, the following documentation provides further detail. The section Understanding the Basics provides further information about the concepts and components within Shibboleth. It is recommended that you read all the documents in this section, in the order listed. The Identity Provider and Service Provider sections give further details relating specifically to their respective components.
Understanding the Basics
Describes the goals of the Shibboleth software and the environments in which it operates.
Describes the general flow through the system.
Describes what metadata is and how it is used by Shibboleth.
Describes the different request/response types that Shibboleth supports.
Discusses what a user session is and a Shibboleth session differs from normal web application sessions.
Describes what Name Identifiers and Attributes are and how they are used.
A glossary of terms used throughout this wiki.
|Entity Naming||Naming guidelines for systems|
|Attribute Naming||Naming guidelines for attributes|
Describes how one Shibboleth component identifiers itself to, and trusts, another.
Describes how a service provider determines a user's identity provider.
|Advanced Uses||Discussion of more advanced use cases.|
Describes how the IdP identifies and interacts with relying parties.
Describes how the IdP establishes and maintains sessions.
Describes how the IdP uses metadata.
|Attribute Storage||Discussion of attribute storage and access.|
Describes the skill set an IdP deployer should have.