Okta User Management

✨ Feature

Integrating OAuth2 Authentication with Germain Using Okta

⚙️ Configuration in Okta

  1. Sign in to your Okta organization as an administrator.

  2. In the Admin Console, go to Applications > Applications.

  3. Select the OpenID Connect (OIDC) or OAuth 2.0 app that needs grants added.

  4. Under the General Tab, navigate to the Login section.

  5. Modify Sign-in redirect URIs according to the template:
    https://<host>:<port>/login/oauth2/code/<client_id>

    image-20221209-131854.png
    Sign-in reditect URIs for OpenID - Germain UX
  6. Make a note of the Client ID and Client Secret from the Client Credentials section. These values are needed for configuring the Germain Authentication Provider.

    image-20221209-132011.png
    Client ID Secret and Credentials for OpenID - Germain UX
  7. Under the Sign On tab, go to the OpenID Connect ID Token section and update the Groups claim filter as follows. This allows Germain to extract Group information from Okta and map them to Roles configured in Germain.

    Screenshot 2022-12-21 at 13.12.53.png
    Group Claim Filter for OpenID - Germain UX

Example / Note

Details

Example

http://localhost:8080/login/oauth2/code/0oa7asda8tu9esOGL5d7

Note

You can find the Client ID in the Client Credentials section on the same tab.

Mapping

Details

Map Okta user groups from Group Claims Filter

Map Okta user groups from Group Claims Filter:

Attribute

Value

Group claim type

Filter

Group claim filter

groups Matches regex .*

Map Active Directory user groups from Group Claims Filter

Map Active Directory user groups from Group Claims Filter:

Attribute

Value

Group claim type

Expression

Group claim filter

groups Groups.startsWith("active_directory", “Group_Name”, 100)

image-20230801-142352.png
Group Claim Type and Expression- Germain UX

🏗️ Configuration in Germain

  1. Sign in to your Germain application as an administrator.

  2. Go to System > System Settings > Root Config (Advanced).

  3. Navigate to monitoringConfig > systemConfig > authentication. In AuthenticationConfig, set the following:

    2e989fcb-0b9f-4d67-a433-ec63ccdd5aa3.png
  4. Go to System > Auth Settings > Authentication.

  5. Click the Plus button to add a new Authentication Provider.

  6. Select OAuth Provider and click next.

    image-20221209-133232.png
    Select OAuth provider - Germain UX
  7. Configure the provider settings:

  8. Click Finish.

  9. Restart the Tomcat services to apply the changes.

  10. If you have any issues with logging in with your OAuth provider after restarting, you can enable DEBUG logging in the REST service for the following package com.germainsoftware.apm.auth.security This will provide additional logging in the REST service log file (when a login attempt is made) to help troubleshoot any configuration issues.

Config

Details

defaultRedirectPath

workspace URL (e.g., http://localhost:8080/germainapm/workspace/app)

Setting

Value / Details

Provider Name

Name for your Auth Provider

Client ID

<Client ID Copied from Okta>

Client Secret

<Client Secret Copied from Okta> (or empty if using a public OAuth client - note this is not recommended, if Client ID is empty, PKCE is used by default)

Authorization Grant Type

authorization_code

Redirect URI Template

{baseUrl}/login/oauth2/code/{registrationId}

Authorization URI

https://<yourOktaDomain>/oauth2/v1/authorize

Token URI

https://<yourOktaDomain>/oauth2/v1/token

User Info URI

https://<yourOktaDomain>/oauth2/v1/userinfo

JWK Set URI

https://<yourOktaDomain>/oauth2/v1/keys

User Name Attribute

email

JWS Algorithm

(leave blank)

Role List Path

userInfo.claims.groups

Scope values

openid, profile, email, groups

Use PKCE

enable this to force using PKCE

Screenshot 2022-12-21 at 13.26.15.png

Once completed, the login page should display the "Login with Okta" OAuth provider option.

image-20221209-150930.png


Service: Authentication

Feature Availability: 8.6.0 or later