Prepare Shibboleth SP for Production deployment
This document assumes you have installed, configured and run Shibboleth SP successfully in a test environment. If not please visit the Setup guide.
Plan ahead for attributes needed for your application. You have to obtain the permission from the respective data stewards.
If you already obtained the approval during test, you are probably ok. However check with AIS.
You may have a chosen a providerId in test that may not be applicable in production. Choose a new providerId. You have to provide this id to IdP (AIS).
providerId is just an identifier of your SP instance. Choose something meaningful that relates to your application.
Read the article about choosing a providerId at https://spaces.internet2.edu/display/SHIB/EntityNaming
<Applications id="yourappname" providerId="https://prod.yourhost.ucla.edu/yourappname" homeURL="https://yourhost.ucla.edu/index.html" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
Change wayfURL to point to production. This is the Single Sign On service of the.
<SessionInitiator isDefault="true" id="yourappname" Location="/index.html" Binding="urn:mace:shibboleth:sp:1.3:SessionInit" wayfURL="https://shb.ais.ucla.edu/shibboleth-idp/SSO">
If you are encrypting your traffic on your server you will need to turn your ssl settings back on in your shibboleth.xml file. Remember to add handlerSSL="true" and redirectToSSL="443" back into your shibboleth.xml file. Also if you set handlerSSL="true" to force https be sure to add cookieProps="; path=/; secure" to ensure secure cookies. It will look like something below.
<Sessions lifetime="28800" timeout="3600" checkAddress="false" consistentAddress="true" handlerURL="/Shibboleth.sso" handlerSSL="true" cookieProps="; path=/; secure" idpHistory="true" idpHistoryDays="7">
Our production metadata is maintained by http://wayf.incommonfederation.org/InCommon/InCommon-metadata.xml and save it on the server. AIS IdP is registered under entityId urn:mace:incommon:ucla.edu.. Download the production metadata file from this site
Change uri to the correct location of this metadata file.
<MetadataProvider type="edu.internet2.middleware.shibboleth.metadata.provider.XMLMetadata" uri="/etc/shibboleth/InCommon-metadata.xml"/>
- The metadata carries an expiration date (validUntil parameter) and will expire monthly. It means you will have to refresh the metadata every month. We strongly recommend that you refresh the metadata daily to ensure that you have the most up-to-date keys and registered information. Visit the instructions on How to refresh InCommon metadata
You will be using a production strength certificate issued either by a federation like Bilateral vs Federated approachor certificates issued by a commercial provider. We expect most of the SPs in UCLA to use Bilateral approach. Visit this site for more info on
Purchase a SSL server certificate from commercial providers like Verisign, Thawte or Godaddy. Share your SSL certificate with the IdP (Do not send the private key).
Configure Credentials path to correct locations of production key & certificate.
<CredentialUse TLS="prod_credentials" Signing="prod_credentials" /> <CredentialsProvider type="edu.internet2.middleware.shibboleth.common.Credentials"> <Credentials xmlns="urn:mace:shibboleth:credentials:1.0"> <FileResolver Id="prod_credentials"> <Key> <Path>/etc/shibboleth/my.prod.key</Path> </Key> <Certificate> <Path>/etc/shibboleth/my.prod.crt</Path> </Certificate> </Credentials> </CredentialsProvider>