Overview
Keep supports Okta as an authentication provider, enabling:- Single Sign-On (SSO) via Okta
- OAuth2/OIDC authentication flow
- JWT token verification with JWKS
- Role-based access control through token claims
Environment Variables
Backend Environment Variables
| Variable | Description | Required |
|---|---|---|
AUTH_TYPE | Set to "OKTA" to enable Okta authentication | Yes |
OKTA_DOMAIN | Your Okta domain (e.g., https://company.okta.com) | Yes |
OKTA_ISSUER | The issuer URL for your Okta authorization server (e.g., https://company.okta.com/oauth2/default) | Yes |
OKTA_CLIENT_ID | Client ID of your Okta application | Yes |
OKTA_CLIENT_SECRET | Client Secret of your Okta application | Yes |
OKTA_AUDIENCE | Expected audience claim in the token. Falls back to OKTA_CLIENT_ID if not set | No |
OKTA_JWKS_URL | Explicit JWKS URL. If not set, derived from OKTA_ISSUER | No |
OKTA_API_TOKEN | Okta API token for management operations | No |
Frontend Environment Variables
| Variable | Description | Example |
|---|---|---|
AUTH_TYPE | Set to "OKTA" to enable Okta authentication | OKTA |
OKTA_ISSUER | The issuer URL for your Okta authorization server | https://company.okta.com/oauth2/default |
OKTA_CLIENT_ID | Client ID of your Okta application | 0oa1bcdef2ghijklm3n4 |
OKTA_CLIENT_SECRET | Client Secret of your Okta application | abcd1234efgh5678 |
Okta Configuration
Creating an Okta Application
- Sign in to your Okta Admin Console
- Navigate to Applications > Applications
- Click Create App Integration
- Select OIDC - OpenID Connect as the sign-in method
- Select Web Application as the application type
- Click Next
Application Settings
- App integration name: Enter a name for your application (e.g., “Keep”)
- Sign-in redirect URIs: Add your callback URL:
https://your-keep-domain.com/api/auth/callback/okta - Sign-out redirect URIs: Add your sign-out URL:
https://your-keep-domain.com - Assignments: Assign the application to the appropriate users or groups
- Click Save
- Copy the Client ID and Client Secret from the application settings
Role Mapping
Keep extracts the user role from the JWT token. The role is determined in the following order:keep_roleclaim in the tokenroleclaim in the token- First entry in the
groupsclaim - Falls back to
userrole
- Navigate to Security > API > Authorization Servers
- Select your authorization server (e.g.,
default) - Go to the Claims tab
- Add a claim named
keep_roleorgroupsthat maps to the user’s Keep role

