diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/1-create-with-provider.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/1-create-with-provider.png new file mode 100644 index 00000000..0b6067c0 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/1-create-with-provider.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/2-new-application.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/2-new-application.png new file mode 100644 index 00000000..78bf612f Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/2-new-application.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/3-new-application-type.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/3-new-application-type.png new file mode 100644 index 00000000..b0d3dbdd Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/3-new-application-type.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/4-new-application-client-id.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/4-new-application-client-id.png new file mode 100644 index 00000000..5e41195f Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/4-new-application-client-id.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/5-new-application-sign.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/5-new-application-sign.png new file mode 100644 index 00000000..38b59896 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/5-new-application-sign.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/6-new-application-scopes.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/6-new-application-scopes.png new file mode 100644 index 00000000..80cc4610 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/6-new-application-scopes.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/7-new-application-submit.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/7-new-application-submit.png new file mode 100644 index 00000000..df655481 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/7-new-application-submit.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/8-list-applications.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/8-list-applications.png new file mode 100644 index 00000000..c09f59f5 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/8-list-applications.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/9-list-providers.png b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/9-list-providers.png new file mode 100644 index 00000000..1d0ccb22 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/authentik-idp/9-list-providers.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/1-new-client.png b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/1-new-client.png new file mode 100644 index 00000000..c7a2de09 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/1-new-client.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/2-new-client-type.png b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/2-new-client-type.png new file mode 100644 index 00000000..b71b24d8 Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/2-new-client-type.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/3-new-client-capability.png b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/3-new-client-capability.png new file mode 100644 index 00000000..f12fd27c Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/3-new-client-capability.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/4-new-client-callback.png b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/4-new-client-callback.png new file mode 100644 index 00000000..170ca1ea Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/4-new-client-callback.png differ diff --git a/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/5-new-client-credentials.png b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/5-new-client-credentials.png new file mode 100644 index 00000000..0caa69af Binary files /dev/null and b/public/docs-static/img/how-to-guides/single-sign-on/keycloak-idp/5-new-client-credentials.png differ diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index f7f9e308..b2787fb5 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -154,6 +154,11 @@ export const docsNavigation = [ href: '/how-to/auto-offboard-users', isOpen: false, }, + { + title: 'Single Sign-On', + href: '/how-to/single-sign-on', + isOpen: false, + }, ] }, { diff --git a/src/pages/how-to/single-sign-on.mdx b/src/pages/how-to/single-sign-on.mdx new file mode 100644 index 00000000..2949b9b9 --- /dev/null +++ b/src/pages/how-to/single-sign-on.mdx @@ -0,0 +1,127 @@ +# Single Sign On + +Please follow the instructions below for your preferred provider. + +## Authentik IdP + +1. You need to create a new Application and Provider. + - Browse to the Applications Administration menu, click on Application, and then click on Create with Provider: + +

+ create-with-provider +

+ - Name the Application and select a suitable explicit user flow. In the example below, we used NetBird: + +

+ new-application +

+ + - Click Next and select the OAuth2/OpenID Provider Type: + +

+ new-application +

+ + - Click Next and select an explicit user authorization flow, then take note of the Client ID and Client Secret: +

+ new-application +

+ + - Add the following redirect URL and select a signing key:
+ URL: `https://login.netbird.io/login/callback` +

+ new-application +

+ + - Click on Advanced protocol settings and ensure that the email, opened, and profile scopes are selected and that Based on the User’s Hash ID is selected for Subject mode: + +

+ new-application +

+ + - Click Next on the following two screens and Submit to create the provider and application: + +

+ new-application +

+ + - You should see an application listed as follow: + +

+ list-applications +

+ +2. We need to copy the OpenID Configuration URL for the new provider. You can do that by navigating to Providers in the left menu and then selecting the newly created provider. There you should see a windows similar to the following: + +

+ list-providers +

+ + - Copy the OpenID Configuration URL. + + +3. Then, share the following information with the NetBird support team at support@netbird.io: + +- Client ID +- Client Secret +- OpenID Configuration URL +- Email domains for your users + + +We recommend using a secure channel to share the Client’s secret. You can send a separate email and use a secret sharing service like:
+https://onetimesecret.com/en/
+https://password.link/en +
+ +## Keycloak IdP + +1. You need to create a new client + + - Browse to the clients Administration menu and then click in Create client: + +

+ new-client +

+ +2. Create a client with the type OpenID Connect and add any client ID and name for the client: + +

+ new-client +

+ +3. Click Next and enable the following options for Capability config: + +

+ new-client +

+ +4. Click Next and fill the following fields: + + Valid redirect URIs: `https://login.netbird.io/login/callback`
+ Web origins: `+` + +

+ new-client +

+ +5. Click Save. + +6. Next we need to retrieve the secret for the client, you can get that in the Credentials tab for the client: + +

+ new-client +

+ +7. Then, share the following information with the NetBird support team at support@netbird.io: + +- Client ID +- Keycloak URL +- Realm +- Client Secret +- Email domains for your users + + +We recommend using a secure channel to share the Client’s secret. You can send a separate email and use a secret sharing service like:
+https://onetimesecret.com/en/
+https://password.link/en +