-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DX-1401] Restructured SSO pages to improve clarity #4736
base: master
Are you sure you want to change the base?
Conversation
PR Review 🔍
Code feedback: |
✅ PS. Pls add /docs/nightly to the end of url
To edit notification comments on pull requests, go to your Netlify site configuration. |
PR Code Suggestions ✨
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add precision for Tyk Classic Developer Portal
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Outdated
Show resolved
Hide resolved
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Outdated
Show resolved
Hide resolved
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A huge improvement!
3. Get the `client_id` + `secret` that are defined on your IdP | ||
4. Set the `Callback URL` generated by Tyk on your IdP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if this is specific for open-id
then worth to let the user know that they need to add openid
and email
in the scopes if they want to pull the user information? (so we can check if the user already exists in the dashboard, display the correct name etc)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@sredxny @andyo-tyk This is a very good point - I was not aware of this since in the UI the scopes are placed as optional and I was getting a generic email and not the one from the user I was logging in with.
|
||
### SSO - The generic use case | ||
[Tyk Identity Broker]({{< ref "tyk-identity-broker" >}}) is an open-source project that can be used to integrate Tyk Dashboard and Classic Portal with 3rd party identity providers (IDPs). TIB has been included as a built-in feature of the Tyk Dashboard since Tyk 3.0: no configuration is required and it is readily available for use. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no configuration is required and it is readily available for use.
is not 100% accurate, even tought it's simpler now anyway customers need to ensure that TIB is enabled in the configs: identity_broker.enabled
|
||
SSO is sometimes complicated to understand or set up but can be easily accomplished by using the built-in [Tyk Identity Broker (TIB)]({{< ref "tyk-identity-broker" >}}). | ||
## How SSO works with Tyk Dashboard |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we must mention that sso must be enabled for the organisation, we enable this in the database and set sso_enabled:true
for the given org
|
||
#### SSO with Open ID Connect or Social Providers | ||
You may not want all SSO users to assume administrator rights to your Tyk Dashboard, so you can configure alternative [default permissions](#setting-default-sso-permissions) that will be inherited instead. Of course, you might want certain users to have additional permissions (for example, your admin users) and so you can also assign [per-user permissions](#setting-user-specific-permissions). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also, you can limit that only registered users (in the dashboard database) can use and perform the authentication flow with a profile by setting SSOOnlyForRegisteredUsers:true
, this only works for sso into the dashboard, not classic portal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so, if someone doesn't exists in the dashboard database but they logged in successfully into the idp anyway the dashboard will deny the access
|
||
#### Tyk Identity Broker (TIB) | ||
## SSO user permissions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe here is a good place to talk about user groups mapping? and custom_user_group_field
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would add some raw schema examples. I was not aware of some of the configurations like the scopes ones as those were optional. @sredxny share one with me that was pretty interesting.
I haven't been using a lot SSO so I am not able to give much feedback on missing things like the ones shared by @sredxny.
I can say that the information looks much better.
We also just found out some feedback that we are missing SAML configuration steps apart from the video that we have.
@andyo-tyk looks like there are lots of unresolved conversations (haven't checked them TBH), please let us know when it's ready for a DX review (changed to draft for now). We might not have time to accommodate it today but please let us know if it's an urgent matter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Content looks good, requesting minor changes.
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Outdated
Show resolved
Hide resolved
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Show resolved
Hide resolved
|
||
`SAMLEmailClaim` - Key for looking up the email claim in the SAML assertion form the IDP. Defaults to: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` | ||
|
||
`SAMLForenameClaim` - Key for looking up the forename claim in the SAML assertion form the IDP. Defaults to: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/forename` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These schemas seem to reference broken links on xmlsoap
|
||
`ForceAuthentication` - Ignore any session held by the IDP and force re-login every request. | ||
|
||
`SAMLEmailClaim` - Key for looking up the email claim in the SAML assertion form the IDP. Defaults to: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These schemas seem to reference broken links on xmlsoap
|
||
`SAMLForenameClaim` - Key for looking up the forename claim in the SAML assertion form the IDP. Defaults to: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/forename` | ||
|
||
`SAMLSurnameClaim` - Key for looking up the surname claim in the SAML assertion form the IDP. Defaults to: `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These schemas seem to reference broken links on xmlsoap
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR LGTM, I have made minor suggestions and where possible committed them to the PR. Once peer approval given will merge and release
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Show resolved
Hide resolved
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Outdated
Show resolved
Hide resolved
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Outdated
Show resolved
Hide resolved
|
||
`SAMLBaseURL` - The host of TIB that will be used in the metadata document for the Service Provider. This will form part of the metadata URL used as the Entity ID by the IDP. The redirects configured in the IDP must match the expected Host and URI configured in the metadata document made available by Tyk Identity Broker. | ||
|
||
`FailureRedirect` - Where to redirect failed login requests. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a URL?
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
Outdated
Show resolved
Hide resolved
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers/social.md
Outdated
Show resolved
Hide resolved
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers/social.md
Outdated
Show resolved
Hide resolved
…entity-providers.md
…entity-providers.md
…entity-providers.md
…entity-providers.md
…entity-providers.md
…entity-providers/ldap.md
…entity-providers/social.md
…entity-providers/ldap.md
…entity-providers/ldap.md
…entity-providers/ldap.md
…entity-providers/social.md
…entity-providers/social.md
Co-authored-by: dcs3spp <[email protected]>
* For API Auth mode - Built-in federation support via JSON Web Tokens or Open ID Connect (Cloud, Multi-Cloud and On-Premises) | ||
|
||
All three of the above have different and unique use cases and can be deployed differently depending on your platform and integration requirements. | ||
In this section we provide examples that use the [Tyk Identity Broker]({{< ref "tyk-identity-broker" >}}) component embedded in the Tyk Dashboard, to integrate with common Identity Providers to offer [Single Sign-On (SSO)]({{< ref "advanced-configuration/integrate/sso" >}}) to your Tyk Dashboard: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dcs3spp @andyo-tyk would we be good to explain what sso means or do we have it somewhere else and I missed it?
Update:
After reading this I see we have content here https://deploy-preview-4736--tyk-docs.netlify.app/docs/nightly/advanced-configuration/integrate/sso/ - have you considered moving this page from the "reference" tab to the JTBD section in API management?
...also there's another place that explains sso - https://tyk.io/docs/tyk-cloud/teams--users/single-sign-on/#what-is-sso, Should we consolidate it to one and link to it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, we put it under the planning phase but it's not really clear why. We should explain what the JTBD is and how it's part of the planning phase. (could be in a separate PR, but it's needed as it's not trivial to connect the dots when one reads it.
@andyo-tyk will you have time to go through Sredny's @sredxny suggestions? this is very old and has conflicts now |
User description
Preview Link
https://deploy-preview-4736--tyk-docs.netlify.app/docs/nightly/advanced-configuration/integrate/sso/
https://deploy-preview-4736--tyk-docs.netlify.app/docs/nightly/advanced-configuration/integrate/3rd-party-identity-providers/
https://deploy-preview-4736--tyk-docs.netlify.app/docs/nightly/advanced-configuration/integrate/
Description
https://tyktech.atlassian.net/browse/DX-1401
Restructured the SSO / 3rd Party IdP integration pages to make them easier to find and work with.
PR Type
documentation
Description
Changes walkthrough 📝
10 files
integrate.md
Restructured integration options for SSO examples.
tyk-docs/content/advanced-configuration/integrate.md
Identity Broker.
3rd-party-identity-providers.md
Expanded SSO integration methods and configurations.
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers.md
custom.md
Simplified custom proxy integration description.
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers/custom.md
ldap.md
Expanded LDAP integration details and examples.
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers/ldap.md
configurations.
social.md
Detailed integration with social identity providers.
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers/social.md
dashboard-login-with-gplus.md
Removed redundant section title for Google+ login.
tyk-docs/content/advanced-configuration/integrate/3rd-party-identity-providers/social/dashboard-login-with-gplus.md
api-auth-mode.md
Removed outdated API authentication mode file.
tyk-docs/content/advanced-configuration/integrate/api-auth-mode.md
sso.md
Simplified and restructured SSO documentation.
tyk-docs/content/advanced-configuration/integrate/sso.md
json-web-tokens.md
Enhanced JWT introduction and overview.
tyk-docs/content/basic-config-and-security/security/authentication-authorization/json-web-tokens.md
menu.yaml
Updated menu structure for SSO and integration docs.
tyk-docs/data/menu.yaml
documentation.