> For the complete documentation index, see [llms.txt](https://hawkins.gitbook.io/consoleme/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hawkins.gitbook.io/consoleme/configuration/authentication-and-authorization/oidc-oauth2-okta/okta.md).

# Okta

Here are step-by-step directions for configuring Okta as an identity provider in ConsoleMe:

1. Sign up for an Okta account, or sign in to your existing account
2. Visit Applications -> "Create App Integration"

![](/files/u9YBOAZtTjde0nI1AhrM)

1. Create the integration with redirect URIs (for local testing) of <http://localhost:3000/auth> and <http://localhost:8081/auth> and save.

![](/files/OUR0t6PgtaPBEy6nYj3c)

1. Click **Okta API Scopes** and add **okta.groups.read** and **okta.users.read.self**

![](/files/v0slHBflCF9LC2rlOirm)

1. Make a ConsoleMe configuration. You can do this by copying [example\_config/example\_config\_oidc\_all\_in\_one.yaml](https://github.com/Netflix/consoleme/blob/master/example_config/example_config_oidc_all_in_one.yaml) to a directory of your choice and changing the various values in that file to suit your needs. The key values to change are:

* oidc\_secrets.client\_id = Client ID in Okta
* oidc\_secrets.secret = Client Secret in Okta
* oidc\_secrets.client\_scope = List of Scopes granted to the App integration in Okta
* get\_user\_by\_oidc\_settings.resource = Name of the App Resource in Okta
* get\_user\_by\_oidc\_settings.metadata\_url = The metadata URL of your Okta App Integration. Usually this is one of the following:
  * <https://YOURDOMAIN.okta.com/oauth2/default/.well-known/oauth-authorization-server>
  * <https://YOURDOMAIN.okta.com/oauth2/default/.well-known/openid-configuration>

1. Start yarn or build the Frontend files for Tornado to serve

* In the `consoleme/ui` directory, run `yarn`
* Run `yarn start` to have the frontend served by Yarn on `http://localhost:3000`. The backend API endpoints will be served by Python (Tornado) on `http://localhost:8081`.
* Run `yarn build:prod` to build the frontend files and put them in a location for the backend to serve. ConsoleMe will be accessible on `http://localhost:8081`.

1. Start ConsoleMe by setting the CONFIG\_LOCATION environment variable and running `consoleme/__main__.py` with Python in your virtualenv (This was created in the [Local Quick Start guide](/consoleme/quick-start/local-development.md))

```
export CONFIG_LOCATION=/location/to/your/config.yaml
python /location/to/consoleme/__main__.py
```

1. Visit <http://localhost:3000> (if serving via Yarn), or <http://localhost:8081> (If you built the frontend files to serve via Tornado) to test.
