Single tenant support with Osso Mock IDP #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds SAML SSO support for a single tenant who is a "customer" of Osso's Mock Idp.
We use a Ruby gem from OneLogin ruby-saml to encode a
SAMLRequest
and decode theSAMLResponse
.SAML Configuration
When configuring SAML SSO for a tenant, you must work with the tenant to configure your application to talk securely with their Identity Provider.
On the IDP's side, since this is a Mock IDP, there's no configuration required - the mock IDP is designed to take a valid
SAMLRequest
, allow a user to "sign in" with any email and password, and then redirects the user with a validSAMLResponse
.The Mock IDP provides a federated metadata XML file that includes the SSO URL and x509 certificate that your application uses to send the user to the IDP login and to decode the SAMLResponse respectively.
Sign in UX
Since we're dealing with a single tenant, we know that every user will log in using the same Identity Provider instance. We don't make an effort to support alternative login approaches, like email / password, and are able to place a button on the sign in form that sends the user to their IDP.