Skip to content

Commit 153b2b3

Browse files
stevsmitSteven Smith
andauthored
Adds OIDC configuration fields, release notes, etc (quay#1477)
Co-authored-by: Steven Smith <[email protected]>
1 parent c1d6731 commit 153b2b3

File tree

4 files changed

+46
-1
lines changed

4 files changed

+46
-1
lines changed

modules/configuring-oidc-authentication.adoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ AZURE_LOGIN_CONFIG: <1>
4040
OIDC_SERVER: <oidc_server_address_> <4>
4141
SERVICE_NAME: Microsoft Entra ID <5>
4242
VERIFIED_EMAIL_CLAIM_NAME: <verified_email> <6>
43+
USE_PKCE: True <7>
44+
PKCE_METHOD: "S256" <8>
45+
PUBLIC_CLIENT: True <9>
4346
# ...
4447
----
4548
<1> The parent key that holds the OIDC configuration settings. In this example, the parent key used is `AZURE_LOGIN_CONFIG`, however, the string `AZURE` can be replaced with any arbitrary string based on your specific needs, for example `ABC123`.However, the following strings are not accepted: `GOOGLE`, `GITHUB`. These strings are reserved for their respective identity platforms and require a specific `config.yaml` entry contingent upon when platform you are using.
@@ -48,6 +51,9 @@ AZURE_LOGIN_CONFIG: <1>
4851
<4> The address of the OIDC server that is being used for authentication. In this example, you must use `sts.windows.net` as the issuer identifier. Using `https://login.microsoftonline.com` results in the following error: `Could not create provider for AzureAD. Error: oidc: issuer did not match the issuer returned by provider, expected "https://login.microsoftonline.com/73f2e714-xxxx-xxxx-xxxx-dffe1df8a5d5" got "https://sts.windows.net/73f2e714-xxxx-xxxx-xxxx-dffe1df8a5d5/"`.
4952
<5> The name of the service that is being authenticated.
5053
<6> The name of the claim that is used to verify the email address of the user.
54+
<7> Specifies whether to enable Proof Key for Code Exchange (PKCE) for OIDC authentication. Defaults to `False`.
55+
<8> Specifies the code challenge method used to generate the `code_challenge` sent in the initial authorization request. Defaults to `S256`.
56+
<9> Specifies whether to omit `client_secret` during token request when the client is public. Defaults to `False`.
5157

5258
. Proper configuration of Microsoft Entra ID results three redirects with the following format:
5359
+

modules/new-features-and-enhancements-316.adoc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,13 @@ The following information can be viewed from the *Superuser* panel:
3131
* Messages
3232
* Build logs
3333

34-
This panel is nearly equivalent to the *Superuser Admin Panel* on the v1 UI with one exception: {productname} superusers now create new users from the *Organizations* page of the v2 UI.
34+
This panel is nearly equivalent to the *Superuser Admin Panel* on the v1 UI with one exception: {productname} superusers now create new users from the *Organizations* page of the v2 UI.
35+
36+
[id="pkce-integration-support"]
37+
== Proof Key for Code Exchange support for OIDC authentication
38+
39+
Previously, {productname} could not authenticate with Proof Key for Code Exchange (PKCE) providers, such as Azure AD or Okta. This led to a loss of service for affected customers.
40+
41+
With this release, PKCE is now supported for OpenID Connect (OIDC) authentication. {productname} administrators can enable PKCE on a per-OIDC provider basis in their `config.yaml` file.
42+
43+
For more information, see link:https://docs.redhat.com/en/documentation/red_hat_quay/3/html-single/manage_red_hat_quay/index#configuring-oidc-authentication[Configuring OIDC for {productname}].

modules/new-quay-config-fields-316.adoc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,21 @@ The following configuration fields are available to completely disable the legac
6161

6262
|===
6363

64+
[id="enabling-pkce-oidc-auth"]
65+
== Enabling PKCE for OIDC authentication
6466

67+
With this release, Proof Key for Code Exchange (PKCE) is now supported for OpenID Connect (OIDC) authentication. {productname} administrators can enable PKCE with the following configuration fields.
6568

69+
.PKCE configuration fields
70+
[cols="3a,1a,2a",options="header"]
71+
|===
72+
| Field | Type | Description
73+
74+
| *USE_PKCE* | Boolean | Whether to enable support for Proof Key for Code Exchange. Defaults to `False`.
75+
76+
|*PKCE_METHOD* |Integer | The the code challenge method used to generate the `code_challenge` sent in the initial authorization request. Defaults to `S256`.
77+
78+
|*PUBLIC_CLIENT* |Boolean | Whether to omit `client_secret` during token request when the client is public. Defaults to `False`.
79+
|===
6680

81+
For more information, see link:https://docs.redhat.com/en/documentation/red_hat_quay/3/html-single/manage_red_hat_quay/index#configuring-oidc-authentication[Configuring OIDC for {productname}].

modules/oidc-config-fields.adoc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,18 @@ You can configure {productname} to authenticate users through any OpenID Connect
4848
| **{nbsp}{nbsp}{nbsp}.OIDC_DISABLE_USER_ENDPOINT** | Boolean | Whether to allow or disable the `/userinfo` endpoint. If using Azure Entra ID, this field must be set to `True` because Azure obtains the user's information from the token instead of calling the `/userinfo` endpoint. +
4949
+
5050
**Default:** `False`
51+
52+
| *USE_PKCE* | Boolean | Whether to enable support for Proof Key for Code Exchange. +
53+
+
54+
**Default:** `False`
55+
56+
|*PKCE_METHOD* |Integer | The the code challenge method used to generate the `code_challenge` sent in the initial authorization request. +
57+
+
58+
**Default:** `S256`
59+
60+
|*PUBLIC_CLIENT* |Boolean | Whether to omit `client_secret` during token request when the client is public. +
61+
+
62+
**Default:** `False`
5163
|===
5264

5365
.OIDC example YAML
@@ -78,5 +90,8 @@ AUTHENTICATION_TYPE: OIDC
7890
VERIFIED_EMAIL_CLAIM_NAME: <verified_email_claim>
7991
PREFERRED_GROUP_CLAIM_NAME: <preferred_group_claim>
8092
OIDC_DISABLE_USER_ENDPOINT: true
93+
USE_PKCE: True
94+
PKCE_METHOD: "S256"
95+
PUBLIC_CLIENT: True
8196
# ...
8297
----

0 commit comments

Comments
 (0)