Like most SAML service providers (SPs), OpenAthens Keystone can also interact with SAML identity providers (IdPs) outside a federation context. To connect with non-federated IdPs, you add their metadata to what is effectively a custom mini federation that we create. We call these connections 1:1 or bilateral connections.
Add a 1:1 connection
-
In the service provider dashboard, go to Keystone settings > 1:1 connections.
-
To add a new entity, click the Add a 1:1 connection button.
-
Either:
-
Type or paste the URL of the IdP’s metadata in the Metadata URL field, or
-
Press Choose File and upload the metadata as an XML file.
-
-
Press Next.
-
By default, the name of the new entity is taken automatically from the metadata. To give it a more descriptive name, select Specify display name and enter the new name in the input field. The name must be at least two characters long. We recommend making it no longer than 140 characters (names longer than this don't display well in Wayfinder and other organization discovery tools).
-
Press Next.
-
The next page displays details of the metadata. Check they are correct. If you’re satisfied, tick This metadata is trusted and should be exported as a SAML entity.
-
Press Upload to finish.
-
Go to the Keystone connection belonging to the application to which you also want to allow access through 1:1. Enable the setting Allow sign-in for identity providers via 1:1 connections if it’s not already turned on.
-
Save your changes to the Keystone connection.
That identity provider will then become available to all of your Keystone connections where 1:1 connections are enabled, and to the applications that use those connections. It does not become available for any other publishers.
You will also need to provide the IdP with your metadata or, in some cases, named details. See the following section.
Provide metadata or details to the IdP
In most cases, the IdP will want your metadata address or a metadata file. Take this from the relevant Keystone connection:
-
Go to Keystone settings > Keystone connections.
-
Open the connection linked to the application that you want to make available through 1:1.
-
In the connection’s Details tab, scroll to the section SAML connector.
-
From the three-dots menu next to the entityID, select View metadata. You can then copy the URL and/or details of the metadata as required.
If the IdP needs specific items of data:
-
entityID: find in the Details tab of the Keystone connection, also in the first line of your metadata
-
SSO endpoint: find this line in your metadata and copy the location part:
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://connect.openathens.net/YOURDOMAIN/CONNECTION_ID/auth/rcv/saml2/post" index="1" isDefault="true"/> -
X509 certificate: appears twice in the metadata in a
<ds:X509Certificate>element
Troubleshooting
Assuming you're in production, check which domain is serving any error message.
-
If it's *.openathens.net:
-
Check you've uploaded the IdP’s metadata
-
If it's your first 1:1 connection, check you've turned on Allow sign-in for identity providers via 1:1 connections on the Keystone connection page, and saved and published the change
-
See the Keystone error message page
-
-
If the error comes from the IdP’s domain, ask the IdP to check that they've correctly added your metadata or details
Anything to watch out for?
-
There is a 1MB size limit on each metadata upload
-
It can take up to six hours for changes to propagate fully