2022-07-09 20:31:41 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								title: Okta SSO
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								slug: /deployment/security/okta
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								---
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Okta SSO
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Follow the sections in this guide to set up Okta SSO.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-02-02 15:58:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< Important >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Security requirements for your **production**  environment:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **DELETE** the admin default account shipped by OM in case you had [Basic Authentication ](/deployment/security/basic-auth ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  enabled before configuring the authentication with Okta SSO.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **UPDATE** the Private / Public keys used for the [JWT Tokens ](/deployment/security/enable-jwt-tokens ). The keys we provide 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  by default are aimed only for quickstart and testing purposes. They should NEVER be used in a production installation.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / Important >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-09-13 21:22:31 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Create Server Credentials
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This document will explain how to create an Okta app and configure it for OAuth. This will generate the information required for Single Sign On with Okta.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Step 1: Create an Okta Account
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Go to [Create Okta Account ](https://developer.okta.com/signup/ ). 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Provide the required input and click on Sign Up. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Else you can continue with Google or GitHub. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Step 2: Create the OIDC App Integration.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Once done with **Signup/Sign**  in, you will be redirected to the **Getting Started**  page in Okta. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/create-oidc-app-integration.png"  alt = "create-oidc-app-integration" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on **Applications -> Applications**  in the left navigation panel. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/click-applications.png"  alt = "click-applications" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on the **Create App Integration**  button. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/create-app-integration.png"  alt = "create-app-integration" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Step 3: Configuring the App
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Once you are in the **Create a new app integration**  page, select **OIDC - OpenID Connect** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Next, select the **Application type -> Single-Page Application** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Once selected, click **Next** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/configuring-the-app.png"  alt = "configuring-the-app" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  From the **General Settings**  page, 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Enter an **App integration name** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Select the following in **Grant type** :
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  **Authorization Code**
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  **Refresh Token** - For the refresh token behavior, it is recommended to select the option to 'Rotate token after every use'.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  **Implicit (hybrid)** - Select the options to allow ID Token and Access Token with implicit grant type.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Enter the **Sign-in redirect URIs** 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-24 09:20:42 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    *  http://localhost:8585/callback
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    *  http://localhost:8585/silent-callback
							 
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  *  Enter the **Sign-out redirect URIs** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Enter the **Base URIs** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Select the required option for **Controlled access** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click **Save** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/general-settings-click-save.png"  alt = "general-settings-click-save" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  The app is now configured. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/app-is-configured.png"  alt = "app-is-configured" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-21 12:44:58 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Step 4: Add Authorization Server to get the Issuer URL
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### New Authorization Server 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								It is recommended to create a separate authorization server for different applications. The authorization server needs an endpoint, which'll be the Issuer URL.
							 
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  Click on **Security -> API**  in the left navigation panel. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/click-security-api.png"  alt = "click-security-api" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  From the **Authorization Servers**  tab, click on **Add Authorization Server**  button. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/click-add-authorization-server.png"  alt = "click-add-authorization-server" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Enter a Name and Description. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  While creating the authorization server, an **Audience**  must be provided for the server. The Audience is the **Client ID**  of the single page application that was created. Refer the next Step 7 to locate the Client ID. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  **Save** the changes. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/add-auth-server-save-changes.png"  alt = "add-auth-server-save-changes" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This will generate the Issuer URL.
							 
						 
					
						
							
								
									
										
										
										
											2023-03-21 12:44:58 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#### Default Authorization Server ( not recommended )
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								It is recommended to create a separate authorization server for different applications. The authorization server needs an endpoint, which'll be the Issuer URL.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on **Security -> API**  in the left navigation panel. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/click-security-api.png"  alt = "click-security-api" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  From the **Authorization Servers**  tab, click on **default**  server. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/default-server.png"  alt = "default-server" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-21 12:44:58 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Step 5: Change the Issuer URL from Dynamic to Okta URL
  
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Once the Authorization Server has been added, navigate to Security >> API >> Authorization Servers and click on the authorization server created in the previous step.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/click-auth-server-from-prev-step.png"  alt = "click-auth-server-from-prev-step" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The Issuer URL shows up as Dynamic by default. Change the Issuer URL to Okta URL and save the changes.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/change-issuer-url.png"  alt = "change-issuer-url" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-21 12:44:58 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Step 6: Create a Default Scope
  
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  To create a default scope from **Security -> API** , click on the required **Authorization Server** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/click-req-auth-server.png"  alt = "click-req-auth-server" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  In the resulting page, click on the **Scopes**  tab 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on **Add Scope**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/add-scope.png"  alt = "add-scope" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Set as a **Default Scope** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/set-default-scope.png"  alt = "set-default-scope" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-21 12:44:58 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Step 7: Add New Access Policy and Rule
  
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  From **Security -> API** , click on the required **Authorization Server**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Navigate to the **Access Policies Tab**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on **Add New Access Policy**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/add-new-access-policy.png"  alt = "add-new-access-policy" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  To create a policy, add a Name and Description. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Assign the policy to the required clients. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/assign-policy.png"  alt = "" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Add a new **Rule**  inside the policy as required. Rules can be created with just a few grant type details, such as Client Credentials, Authorization Code, Device Authorization, and Token Exchange. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on **Create Rule**  to save the changes. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/add-rule.png"  alt = "add-rule" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-03-21 12:44:58 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Step 8: Where to Find the Credentials
  
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  Once the app is configured, the **Client ID**  can be used. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  You can also go to **Application -> Application**  as in step 2. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  You should be able to see your application in the list. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/see-your-application.png"  alt = "see-your-application" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on your application. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  You will find your **Client ID**  and **Okta domain** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  The **Client authentication**  is enabled by default. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  By clicking on the Edit ** ** option for General Settings, you can deselect the option for **User consent** . Save the changes. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/deselect-user-consent.png"  alt = "deselect-user-consent" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on the **Sign On**  tab from the top navigation bar. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on Edit for **OpenID Connect ID Token** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  For **Issuer** , change from the Dynamic (based on request domain) option to the **Okta URL**  option. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  The **Audience**  is the same as the Client ID. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/click-edit-token.png"  alt = "click-edit-token" / >  
						 
					
						
							
								
									
										
										
										
											2022-07-09 20:31:41 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-01-30 14:13:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Create Service Application (optional)
  
						 
					
						
							
								
									
										
										
										
											2022-07-09 20:31:41 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-01-30 14:13:23 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This is a guide to create ingestion bot service app. This step is optional if you configure the ingestion-bot with 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								the JWT Token, you can follow the documentation of [Enable JWT Tokens ](/deployment/security/enable-jwt-tokens ).
							 
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Step 1: Generate Public/Private Key Pair
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### For a Test or Staging Instance:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Use a tool such as this JSON [Web Key Generator ](https://mkjwk.org/ ) to generate a JWKS public/private key pair for testing. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								#### For a Production Instance:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Use your own [internal instance ](https://github.com/mitreid-connect/mkjwk.org ) of the key pair generator. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Clone the repository using `git clone https://github.com/mitreid-connect/mkjwk.org.git` . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Use `mvn package -DskipTests && java -jar target/ROOT.war`  to run the above repo. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Go to `http:localhost:8080`  to generate **public/private key**  pairs. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/generate-keys.png"  alt = "generate-keys" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Enter the following values to generate a **public/private key pair** : 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Key size - 2048
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Key use — signature
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Algorithm — RSA256
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  Key ID — Enter the Key ID that is fetched from the issuer_url/v1/keys. Fetch the kid as the key ID
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/see-key-ids.png"  alt = "see-key-ids" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/enter-key-ids-from-issuer.png"  alt = "enter-key-ids-from-issuer" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Once you provide the input, click **Generate** . You will get the **Public/Private Keypair** , **Public/Private Keypair Set** , and **Public Key**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/get-keys.png"  alt = "get-keys" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Step 2: Create a Token
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								While creating the service application, an authorization token will be needed. To create a token:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Navigate to **Security -> API**  from the left nav bar. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on the **Tokens**  tab. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on **Create New Token**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Save the token safely. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Step 3: Create Service Application
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  You will need to make a **POST**  request to `https://${yourOktaDomain}/oauth2/v1/clients`  endpoint to create a service app in okta 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  The parameters involved in the request are: 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  **client_name** - the name of the service app
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  **grant_type - client_credentials**
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  **token_endpoint_auth_method — private_key_jwt**
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  **application_type — service**
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  **jwks** — add the **Public/Private Keypair**  Set that you created in the previous step.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Create a service app using the below format: 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								curl --location --request POST '< domain-url > /oauth2/v1/clients' \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								--header 'Authorization: SSWS < token-created-in-previous-step > ' \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								--header 'Content-Type: application/json' \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								--data-raw '{
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "client_name": "OM-service-app-postman-4",
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "grant_types": [
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        "client_credentials"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ],
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "response_types": [
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        "token"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    ],
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "token_endpoint_auth_method": "private_key_jwt",
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "application_type": "service",
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "jwks": {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < public  private  key  pair  set  with  kid ( key  id )  that  of  the  authorization  server > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  To check if the service app is created navigate to your **Okta Dashboard** . 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on **Applications -> Applications**  in the left navigation bar. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  You should see your service account in the list. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/view-service-account.png"  alt = "view-service-account" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Step 4: Grant Allowed Scopes
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  To add scopes, navigate to your **Okta Dashboard** . Click on **Applications -> Applications**  as in step 2. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Click on your service app. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/select-the-service-app.png"  alt = "select-the-service-app" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Now click on **Okta API Scopes**  from the top nav bar. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  Grant the scopes by clicking on **Grant** . Ensure that the following scopes are granted: 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  okta.users.read
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  okta.users.manage
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  *  okta.clients.read
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< Image  src = "/images/deployment/security/okta/ensure-scopes-are-granted.png"  alt = "ensure-scopes-are-granted" / >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  To get more information on the Scopes. Visit the [Doc ](https://developer.okta.com/docs/guides/implement-oauth-for-okta/scopes/ ). 
						 
					
						
							
								
									
										
										
										
											2022-07-09 20:31:41 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								After the applying these steps, you can update the configuration of your deployment:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< InlineCalloutContainer >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < InlineCallout 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    color="violet-70"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    icon="celebration"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    bold="Docker Security"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    href="/deployment/security/okta/docker"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  >
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Configure Auth0 SSO for your Docker Deployment.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / InlineCallout > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < InlineCallout 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    color="violet-70"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    icon="storage"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    bold="Bare Metal Security"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    href="/deployment/security/okta/bare-metal"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  >
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Configure Auth0 SSO for your Bare Metal Deployment.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / InlineCallout > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < InlineCallout 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    color="violet-70"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    icon="fit_screen"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    bold="Kubernetes Security"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    href="/deployment/security/okta/kubernetes"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  >
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Configure Auth0 SSO for your Kubernetes Deployment.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < / InlineCallout > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / InlineCalloutContainer >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Configure Ingestion
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								After everything has been set up, you will need to configure your workflows if you are running them via the
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`metadata`  CLI or with any custom scheduler. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								When setting up the YAML config for the connector, update the `workflowConfig`  as follows:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								workflowConfig:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  openMetadataServerConfig:
							 
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    hostPort: http://localhost:8585/api
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    authProvider: okta
							 
						 
					
						
							
								
									
										
										
										
											2022-07-09 20:31:41 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    securityConfig:
							 
						 
					
						
							
								
									
										
										
										
											2022-07-17 21:50:28 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      clientId: "{CLIENT_ID - SPA APP}"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      orgURL: "{ISSUER_URL}/v1/token"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      privateKey: "{public/private keypair}"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      email: "{email}"
							 
						 
					
						
							
								
									
										
										
										
											2022-08-23 13:04:12 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      scopes: []
							 
						 
					
						
							
								
									
										
										
										
											2022-07-09 20:31:41 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2022-08-24 09:20:42 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< InlineCalloutContainer >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < InlineCallout 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    color="violet-70"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    icon="storage"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    bold="Troubleshoot Okta Ingestion"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    href="/deployment/security/okta/troubleshoot"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  >
							 
						 
					
						
							
								
									
										
										
										
											2023-02-02 12:31:31 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    Troubleshoot errors faced with Okta SSO during ingestion.
							 
						 
					
						
							
								
									
										
										
										
											2022-08-24 09:20:42 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  < / InlineCallout > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / InlineCalloutContainer >