Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| 262:integration:oidc [2026/10/28 10:45] – created Policnik, Florian | 262:integration:oidc [2026/10/28 12:19] (current) – Policnik, Florian | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Configure OpenID Connect (OIDC) Authentication ====== | ====== Configure OpenID Connect (OIDC) Authentication ====== | ||
| - | This feature is beta. | + | This feature is in the beta stage. |
| OpenID Connect (OIDC) is an identity layer built on OAuth 2.0. Stages acts as an OIDC relying party (RP), also called a client, and delegates user authentication to an OpenID Provider (OP), also called an identity provider (IdP). | OpenID Connect (OIDC) is an identity layer built on OAuth 2.0. Stages acts as an OIDC relying party (RP), also called a client, and delegates user authentication to an OpenID Provider (OP), also called an identity provider (IdP). | ||
| Stages uses the provider' | Stages uses the provider' | ||
| - | |||
| ===== Register Stages with the identity provider ===== | ===== Register Stages with the identity provider ===== | ||
| Line 12: | Line 11: | ||
| Create an OIDC client/ | Create an OIDC client/ | ||
| - | Register the exact redirect | + | Register the following |
| - | Obtain the following values from the provider: | + | < |
| + | https:// | ||
| + | https:// | ||
| + | https:// | ||
| + | </ | ||
| + | Replace ''< | ||
| + | |||
| + | Request the scopes: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Obtain the following values from the provider: | ||
| * OIDC discovery URL | * OIDC discovery URL | ||
| * Client ID | * Client ID | ||
| * Client secret | * Client secret | ||
| - | * The scopes and claims required to identify users | ||
| The provider' | The provider' | ||
| - | |||
| - | Request the scopes '' | ||
| - | |||
| ===== Enable OIDC for Stages ===== | ===== Enable OIDC for Stages ===== | ||
| Line 31: | Line 38: | ||
| <code xml> | <code xml> | ||
| - | <method type=" | + | <method type=" |
| < | < | ||
| < | < | ||
| Line 52: | Line 59: | ||
| </ | </ | ||
| - | The '' | + | The '' |
| The following example configuration variables are referenced above. Adjust the discovery URL, scope, client ID, and client authentication method to match your provider' | The following example configuration variables are referenced above. Adjust the discovery URL, scope, client ID, and client authentication method to match your provider' | ||
| Line 75: | Line 82: | ||
| </ | </ | ||
| - | + | After you have configured the OIDC authentication method | |
| - | After you configured the service provider and identity provider | + | |
| ===== Changing the license pool and license type for existing users ===== | ===== Changing the license pool and license type for existing users ===== | ||
| - | By default, existing users are not modified by the OIDC authentication process when the OIDC configuration was changed after the user had been created. However, you can set the '' | + | By default, existing users are not modified by the OIDC authentication process when the OIDC configuration was changed after the user had been created. However, you can set the '' |
| ===== Configuring Stages attributes in default-matcher section with JavaScript ===== | ===== Configuring Stages attributes in default-matcher section with JavaScript ===== | ||
| - | JavaScript control flow statements (e.g. "if","switch") can be used to configure values for Stages attributes. All claims of the OIDC response are accessible as variables and can be used in the JavaScript expression | + | JavaScript control flow statements (e.g. '' |
| JavaScript expressions can be used with the following Stages attributes: | JavaScript expressions can be used with the following Stages attributes: | ||
| Line 95: | Line 100: | ||
| **General JavaScript expression notation: | **General JavaScript expression notation: | ||
| - | < | + | < |
| + | < | ||
| </ | </ | ||
| **JavaScript notation of if-clauses: | **JavaScript notation of if-clauses: | ||
| - | <code javascript> | + | <code javascript> |
| + | if (condition1) ' | ||
| </ | </ | ||
| **JavaScript notation of value conditions: | **JavaScript notation of value conditions: | ||
| - | OIDC claims that are defined via identity_provider_attribute | + | OIDC claims that are defined via identity-provider-attribute |
| <code xml> | <code xml> | ||
| < | < | ||
| Line 120: | Line 127: | ||
| This example creates Stages users with the following conditions: | This example creates Stages users with the following conditions: | ||
| - | * The pattern matches the entry of the OIDC claim "id" | + | * The pattern matches the entry of the OIDC claim '' |
| - | * Depending on the users' email address (domain-part), | + | * Depending on the users' email address (domain-part), |
| <code xml> | <code xml> | ||
| Line 140: | Line 147: | ||
| Please note that the values of multi value attributes are provided to the scripts as one value as a comma separated string. | Please note that the values of multi value attributes are provided to the scripts as one value as a comma separated string. | ||
| - | |||
| Line 160: | Line 166: | ||
| This will create a SSO button on the login page for each IDP. | This will create a SSO button on the login page for each IDP. | ||
| - | Please provide a user understandable naming by defining a translation property for each login.sso.[name] | + | Please provide a user understandable naming by defining a translation property for each login.sso.[name] |
| '' | '' | ||
| <code properties> | <code properties> | ||