|
12 | 12 | information: "Portions copyright [year] [name of copyright owner]". |
13 | 13 |
|
14 | 14 | Copyright 2017 ForgeRock AS. |
15 | | - Portions Copyright 2024-2025 3A Systems LLC. |
| 15 | + Portions Copyright 2024-2026 3A Systems LLC. |
16 | 16 | //// |
17 | 17 |
|
18 | 18 | :figure-caption!: |
@@ -291,4 +291,115 @@ a|authentication.json |
291 | 291 | |=== |
292 | 292 | In general, if you add a custom property, the Admin UI writes changes to the `authentication.json` or `ui-configuration.json` files. |
293 | 293 |
|
| 294 | +[#oauth-module-details] |
| 295 | +=== OAUTH Module Configuration Options |
| 296 | +
|
| 297 | +The `OAUTH` module authenticates users via a generic OAuth 2.0 provider. It validates an OAuth 2.0 `access_token` by calling the provider's `userinfo_endpoint`. For more information, see xref:chap-auth.adoc#oauth-module["OAUTH"]. |
| 298 | +
|
| 299 | +The options shown in the Admin UI are subdivided into basic and advanced properties. You may need to click Advanced Properties to review those details. |
| 300 | +
|
| 301 | +[#table-oauth-basic] |
| 302 | +.OAUTH Module Basic Properties |
| 303 | +[cols="18%,27%,27%,28%"] |
| 304 | +|=== |
| 305 | +|Admin UI Label |Default |Description |Configuration File |
| 306 | +
|
| 307 | +a|Module Enabled |
| 308 | +a|false |
| 309 | +a|Whether to enable the module |
| 310 | +a|authentication.json |
| 311 | +
|
| 312 | +a|Client ID |
| 313 | +a|blank |
| 314 | +a|OAuth 2.0 client ID registered with the provider (`resolvers[].client_id`) |
| 315 | +a|authentication.json |
| 316 | +
|
| 317 | +a|Client Secret |
| 318 | +a|blank |
| 319 | +a|OAuth 2.0 client secret registered with the provider (`resolvers[].client_secret`) |
| 320 | +a|authentication.json |
| 321 | +
|
| 322 | +a|Scope |
| 323 | +a|blank |
| 324 | +a|OAuth 2.0 scopes needed to access provider APIs (`resolvers[].scope`) |
| 325 | +a|authentication.json |
| 326 | +
|
| 327 | +a|Authorization Endpoint |
| 328 | +a|https://openam.example.com/openam/oauth2/authorize |
| 329 | +a|Provider's authorization endpoint URL (`resolvers[].authorization_endpoint`) |
| 330 | +a|authentication.json |
| 331 | +
|
| 332 | +a|Token Endpoint |
| 333 | +a|https://openam.example.com/openam/oauth2/access_token |
| 334 | +a|Provider's token endpoint URL (`resolvers[].token_endpoint`) |
| 335 | +a|authentication.json |
| 336 | +
|
| 337 | +a|User Info Endpoint |
| 338 | +a|https://openam.example.com/openam/oauth2/userinfo |
| 339 | +a|Provider's userinfo endpoint URL (`resolvers[].userinfo_endpoint`). The access token is validated by calling this endpoint. |
| 340 | +a|authentication.json |
| 341 | +
|
| 342 | +a|Authentication ID attribute for the User ID |
| 343 | +a|sub |
| 344 | +a|Attribute name in the provider's userinfo response that contains the user identifier (`resolvers[].authenticationId`) |
| 345 | +a|authentication.json |
| 346 | +
|
| 347 | +a|Sign-In Button HTML |
| 348 | +a|(HTML button markup) |
| 349 | +a|HTML markup for the social login button displayed in the UI (`resolvers[].icon`) |
| 350 | +a|authentication.json |
| 351 | +
|
| 352 | +a|Query on Resource |
| 353 | +a|managed/user |
| 354 | +a|Managed object endpoint to query after the token is validated against the provider (`queryOnResource`) |
| 355 | +a|authentication.json |
| 356 | +
|
| 357 | +a|Default User Roles |
| 358 | +a|openidm-authorized |
| 359 | +a|Roles assigned to all users who authenticate successfully through this module (`defaultUserRoles`) |
| 360 | +a|authentication.json |
| 361 | +
|
| 362 | +a|Authentication ID |
| 363 | +a|userName |
| 364 | +a|Attribute in the managed object used as the authentication identifier when querying the resource (`propertyMapping.authenticationId`) |
| 365 | +a|authentication.json |
| 366 | +
|
| 367 | +a|Method for Determining Roles |
| 368 | +a|User Roles Property |
| 369 | +a|How roles are determined for the authenticated user (`propertyMapping`) |
| 370 | +a|authentication.json |
| 371 | +
|
| 372 | +a|User Roles Property |
| 373 | +a|authzRoles |
| 374 | +a|Attribute in the managed object used for authorization roles (`propertyMapping.userRoles`) |
| 375 | +a|authentication.json |
| 376 | +|=== |
| 377 | +
|
| 378 | +[#table-oauth-advanced] |
| 379 | +.OAUTH Module Advanced Properties |
| 380 | +[cols="18%,27%,27%,28%"] |
| 381 | +|=== |
| 382 | +|Admin UI Label |Default |Description |Configuration File |
| 383 | +
|
| 384 | +a|Use Query ID |
| 385 | +a|blank |
| 386 | +a|A defined `queryId` used to search against the `queryOnResource` endpoint (`queryId`) |
| 387 | +a|authentication.json |
| 388 | +
|
| 389 | +a|OAuth Token Header |
| 390 | +a|authToken |
| 391 | +a|Name of the HTTP request header that carries the OAuth 2.0 access token (`authTokenHeader`). This header is required; authentication fails if it is absent. |
| 392 | +a|authentication.json |
| 393 | +
|
| 394 | +a|OAuth Resolver Header |
| 395 | +a|provider |
| 396 | +a|Name of the HTTP request header that identifies the provider resolver to use (`authResolverHeader`). The value must match the resolver name. |
| 397 | +a|authentication.json |
| 398 | +
|
| 399 | +a|Augment Security Context |
| 400 | +a|JavaScript |
| 401 | +a|Type of script executed after a successful authentication request (`augmentSecurityContext`). Supports JavaScript or Groovy. |
| 402 | +a|authentication.json |
| 403 | +|=== |
| 404 | +
|
294 | 405 |
|
0 commit comments