Skip to content
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

doc: Okta SSO Configuration Doc #3876

Merged
merged 4 commits into from
Sep 12, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
* [Chart Repositories](user-guide/global-configurations/chart-repo.md)
* [Custom charts](user-guide/global-configurations/custom-charts.md)
* [SSO Login Services](user-guide/global-configurations/sso-login.md)
* [Example - Okta SSO](user-guide/global-configurations/okta.md)
* [Authorization](user-guide/global-configurations/authorization/README.md)
* [User Permissions](user-guide/global-configurations/authorization/user-access.md)
* [Permission Groups](user-guide/global-configurations/authorization/permission-groups.md)
Expand Down
63 changes: 63 additions & 0 deletions docs/user-guide/global-configurations/okta.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Example - Okta SSO

## Prerequisites

A verified account on [Okta](https://www.okta.com/). Okta activates your account only if email verification is successful.

Here's a reference guide to set up your Okta org and application: [Link](https://developer.okta.com/docs/guides/oie-embedded-common-org-setup/go/main/)

## Tutorial

{% embed url="https://www.youtube.com/watch?v=_2f-5WGmQ4Y" caption="Okta App Setup" %}

## Steps on Okta Admin Console

Once your Okta org is set up, create an app integration on Okta to get a Client ID and Client Secret.

1. In the Admin Console, go to **Applications** → **Applications**.

2. Click **Create App Integration**.

3. Select **OIDC - OpenID Connect** as the **Sign-in method**.

{% hint style="info" %}
OIDC stands for OpenID Connect. [Click here](https://www.okta.com/openid-connect/) to read more.
{% endhint %}

4. Select an application type (Web, Single Page, or Native), and click **Next**.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also better to guide user to select an option maybe single page in this case than asking to select any from available 3


5. On the **App Integration** page:
* Give a name to your application.
* Select the **Interaction Code** and **Refresh Token** checkbox.
* Now go to Devtron's Global Configurations → SSO Login Services → OIDC.
* Copy the redirect URI given in the helper text (might look like: https://xxx.xxx.xxx/xxx/callback).
* Return to the Okta screen, and remove the prefilled value in **Sign-in redirect URIs**.
* Paste the copied URI in **Sign-in redirect URIs**.
* Click **Save**.

6. On the **General** tab:
* Note the **Client ID** value.
* Click the **Edit** option.
* In Client Authentication, choose **Client Secret**.
* Click **Save**.
* Click **Generate new secret**.
* Note the **Client Secret** value.


## Steps on Devtron

1. Go to the Global Configurations → SSO Login Services → OIDC.
2. In the **URL** field, enter the Devtron application URL (a valid https link) where it is hosted.
3. In `config`, provide the `clientID` and `clientSecret` of the app integration you created on Okta.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be configuration, it will then match the screenshots text?

4. Add a key `insecureSkipEmailVerified: true`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is always required, why don't we have it prefilled in the configuration? Why user need to provide it manually?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not always need, could be different for other type of oidc sso.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can add a note that this key is only required for okta oidc sso. cc: @ashokdevtron

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can add this doc link too, saying here user may refer for available configuration options, something around this.

5. Provide `issuer` value as `https://${yourOktaDomain}/oauth2/default`. Replace `${yourOktaDomain}` with your domain on Okta as shown in the video.
6. For providing `redirectURI` or `callbackURI` registered with the SSO provider, you can either select `Configuration` or `Sample Script`. Note that the redirect URI is already given in the helper text (as seen in the previous section).
7. Click **Save** to create and activate Okta SSO login.

Now your users will be able to log in to Devtron using the Okta authentication method.

## Sample Configuration

![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/global-configurations/sso-login-service/sample-config.jpg)