Panel |
---|
In order to make your application use MIT Touchstone, or Shibboleth, for authentication, several steps have to be performed. MIT Information Services and Technology offers consulting services to make this process easier. However, many people at MIT are able to perform each of these simple steps with minimal intervention from IS&T. The information below is intended to help guide you through your configuration. |
...
Panel | |||||||
---|---|---|---|---|---|---|---|
IS&T currently supports new customers intending to use current versions of Shibboleth SP 2.x. New installations must use Shibboleth 2.x based SPs.
|
Installing native SP software:
...
The most current native packages and installers for the Service Provider software for the Red Hat Enterprise Linux (RHEL) and Windows platforms can always be found at the Shibboleth download site. Generally you should download the latest version of the SP software for your platform.
...
Some other Linux distributions also maintain binary installers available from the OS distribution point. For Debian/Ubuntu, please install the libapache2-mod-shib2
package with apt-get or other package manager. If you have questions about other distributions please contact touchstone-support and indicate what operating distribution and version you are using.
. Please see https://wiki.shibboleth.net/confluence/display/SHIB2/Home for information on the current releases of Shibboleth.
|
Installing native SP software:
Panel | ||
---|---|---|
Some other Linux distributions also maintain binary installers available from the OS distribution point. For Debian/Ubuntu, please install the |
Building from source:
Panel | ||
---|---|---|
However, if you need to build from source, please read the following pages:
Once you have built the software successfully, you will need to configure and customize it for use. |
Certificate request and configuration
Panel | ||
---|---|---|
A server certificate, issued either by the MIT CA or a commercial CA, is required for SSL (https) traffic to your server; we strongly recommend using SSL for all Shibboleth-protected content. Please make sure that you use lower case server names in your certificate request. The server name within the certificate is case sensitive. Information about how to generate a certificate request and where to send the request can be found in https://wikis-mit-edu.ezproxyberklee.flo.org/confluence/display/WSWG/How+to+acquire+and+verify+a+M.I.T.+x509+Server+Certificate While some older MIT SPs still use an MIT-issued server SSL certificate with Shibboleth (e.g. when the Shibboleth SP authenticates to an IdP), we now require using a separate, self-signed certificate for that purpose, so new installs must generate and provide us with that certificate. Please see below for details. |
Ensure your system clock is accurate
Panel |
---|
The authentication request by the SP includes a timestamp |
Building from source:
Panel | ||
---|---|---|
However, if you need to build from source, please read the following pages:
Once you have built the software successfully, you will need to configure and customize it for use. |
Certificate request and configuration
Panel | ||
---|---|---|
A server certificate, issued either by the MIT CA or a commercial CA, is required for SSL (https) traffic to your server; we strongly recommend using SSL for all Shibboleth-protected content. Please make sure that you use lower case server names in your certificate request. The server name within the certificate is case sensitive. Information about how to generate a certificate request and where to send the request can be found in https://wikis-mit-edu.ezproxyberklee.flo.org/confluence/display/WSWG/How+to+acquire+and+verify+a+M.I.T.+x509+Server+Certificate While some older MIT SPs still use an MIT-issued server SSL certificate with Shibboleth (e.g. when the Shibboleth SP authenticates to an IdP), we now require using a separate, self-signed certificate for that purpose, so new installs must generate and provide us with that certificate. Please see below for details. |
Ensure your system clock is accurate
Panel |
---|
The authentication request by the SP includes a timestamp, and the IdP verifies that the timestamp is current, to prevent replay attempts. Requests with an invalid timestamp (either too far in the past, or too far in the future), will be rejected by the IdP, resulting in an error. Therefore, it is essential that your server's system clock is accurate. On Linux servers, this is typically accomplished by running |
...
Panel | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
On a Linux server, the quickest way to get started is to use Touchstone's Shibboleth 2.4+In the /etc/shibboleth directory (as root), download and run the gen-shib2.sh script from the Touchstone locker, e.g.:
where
Here is a sample typescript from running the procedure for a web server whose public name (the host name entered by users as the URL to access your application) is mywebapp.mit.edu, but is hosted on a machine named simulacrum.mit.edu:
Notes:
Notes:
Shibboleth 2.3Download the following files from http://web.mit.edu.ezproxyberklee.flo.org/touchstone/config/shibboleth2-sp/2.3/ (or, if you have AFS, copy them from the Touchstone locker (
Then run the gen-shib2.sh script, and answer the prompts, to generate shibboleth2.xml. For example:
NotesNote that any many changes to the shibboleth2.xml, attribute-map.xml, and attribute-policy.xml files will be detected automatically, i.e. without requiring a restart of shibd. Note: The gen-shib2.sh procedure described above is currently supported on Linux systems only; it should be portable to other UNIX-based systems with minimal effort. Please contact touchstone-support if you are using another operating system and having problems with the gen-shib2.sh script. The $prefix/etc/shibboleth directory will contain apache.config, apache2.config, and apache22.config, which contain needed and example directives for Apache 1.3, Apache 2.0, and Apache 2.2, respectively; copy and/or include the appropriate file in your Apache config, and customize as needed. The directory also contains a shibd init script for Red Hat (shibd-redhat) and Debian (shibd-debian) systems. The current Red Hat RPMs also install the init script into /etc/init.d/shibd, and adds it as a managed service. On Solaris machines, the gen-shib.sh script will generate a shibd init script (from shibd.in); this should be installed into /etc/init.d, and configured to start at boot time, after httpd has started. shibd is a daemon that must be running, so make sure it is started at boot time, after Apache httpd has been started. On Red Hat, the
On Windows/IIS machines, the shibboleth2.xml.windows-example file in the locker is a good starting point for the shibboleth2.xml file. You will need to edit the file for it to work on your server; please see the comments at the top of the file for the details. The attribute-map.xml file in the locker should work without modification. |
...
Panel | ||||
---|---|---|---|---|
You will probably also want to customize the error pages and support contact information listed in the <Errors> element in $prefix/etc/shibboleth/shibboleth.xml, e.g.:
The error template files are located in $prefix/etc/shibboleth/ (you can override these locations in the <Errors> element). For more information, see https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPErrors |
...
Panel | ||||
---|---|---|---|---|
We also encourage you to send the following optional information with your registration information:
A single Shibboleth SP installation is designed to support multiple applications installed on that server, but there are different deployment and configuration strategies to support multiple applications. At MIT we recommend that each application simply be configured to use a separate Apache vhost; more complex configurations, e.g. creating separate entity IDs for each application, are also possible. For more information, please see: An example of when separate entity IDs are needed would be if one application requires a non-standard set of attributes to be released to it. Please consult with touchstone-support as needed. |
...
Panel | ||
---|---|---|
Once your SP is properly registered with the IdP, you can test your SP's configuration by visiting either the Shibboleth handler's session initiation location (
|
...
Panel |
---|
We have some pointers to example code written in various languages. We do expect the examples to increase over time. We are also creating some local documentation that covers the configuration of third party software. However, users are encouraged to look at resources outside of MIT as well. If you do find useful information please do bring it to our attention. For basic information on accessing attributes provided by a Shibboleth session, see: Some simple examples:
Third party applications: |
Support Resources
Third party applications: |
Support Resources
Panel | ||||||
---|---|---|---|---|---|---|
Please send email to touchstone-support for assistance with setting up your SP | ||||||
Panel | ||||||
Note | | |||||
|
Who to Contact:
Panel |
---|
Web: MIT Touchstone |