chore: extend test cases for oidc provider and documentation regarding implicit setting of the groups scope when no scope was specified in the config
Co-authored-by: Jan Larwig <jan@larwig.com>
This commit is contained in:
		
							parent
							
								
									2fd2f8c63d
								
							
						
					
					
						commit
						05b91f310a
					
				|  | @ -14,6 +14,7 @@ | ||||||
| - [#2300](https://github.com/oauth2-proxy/oauth2-proxy/pull/2300) Add fix for websocket path rewrite (@rekup) | - [#2300](https://github.com/oauth2-proxy/oauth2-proxy/pull/2300) Add fix for websocket path rewrite (@rekup) | ||||||
| - [#2821](https://github.com/oauth2-proxy/oauth2-proxy/pull/2821) feat: add CF-Connecting-IP as supported real ip header (@ondrejsika) | - [#2821](https://github.com/oauth2-proxy/oauth2-proxy/pull/2821) feat: add CF-Connecting-IP as supported real ip header (@ondrejsika) | ||||||
| - [#2620](https://github.com/oauth2-proxy/oauth2-proxy/pull/2620) fix: update code_verifier to use recommended method (@vishvananda) | - [#2620](https://github.com/oauth2-proxy/oauth2-proxy/pull/2620) fix: update code_verifier to use recommended method (@vishvananda) | ||||||
|  | - [#2392](https://github.com/oauth2-proxy/oauth2-proxy/pull/2392) chore: extend test cases for oidc provider and documentation regarding implicit setting of the groups scope when no scope was specified in the config (@jjlakis / @tuunit) | ||||||
| 
 | 
 | ||||||
| # V7.7.1 | # V7.7.1 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -75,40 +75,40 @@ An example [oauth2-proxy.cfg](https://github.com/oauth2-proxy/oauth2-proxy/blob/ | ||||||
| 
 | 
 | ||||||
| Provider specific options can be found on their respective subpages. | Provider specific options can be found on their respective subpages. | ||||||
| 
 | 
 | ||||||
| | Flag / Config Field                                                                                 | Type           | Description                                                                                                                                                                               | Default               | | | Flag / Config Field                                                                                 | Type           | Description                                                                                                                                                                                              | Default               | | ||||||
| | --------------------------------------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | | --------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | ||||||
| | flag: `--acr-values`<br/>toml: `acr_values`                                                         | string         | optional, see [docs](https://openid.net/specs/openid-connect-eap-acr-values-1_0.html#acrValues)                                                                                           | `""`                  | | | flag: `--acr-values`<br/>toml: `acr_values`                                                         | string         | optional, see [docs](https://openid.net/specs/openid-connect-eap-acr-values-1_0.html#acrValues)                                                                                                          | `""`                  | | ||||||
| | flag: `--allowed-group`<br/>toml: `allowed_groups`                                                  | string \| list | restrict logins to members of this group (may be given multiple times)                                                                                                                    |                       | | | flag: `--allowed-group`<br/>toml: `allowed_groups`                                                  | string \| list | Restrict login to members of a group or list of groups. Furthermore, if you aren't setting the `scope` and use `allowed_groups` with the generic OIDC provider the scope `groups` gets added implicitly. |                       | | ||||||
| | flag: `--approval-prompt`<br/>toml: `approval_prompt`                                               | string         | OAuth approval_prompt                                                                                                                                                                     | `"force"`             | | | flag: `--approval-prompt`<br/>toml: `approval_prompt`                                               | string         | OAuth approval_prompt                                                                                                                                                                                    | `"force"`             | | ||||||
| | flag: `--backend-logout-url`<br/>toml: `backend_logout_url`                                         | string         | URL to perform backend logout, if you use `{id_token}` in the url it will be replaced by the actual `id_token` of the user session                                                        |                       | | | flag: `--backend-logout-url`<br/>toml: `backend_logout_url`                                         | string         | URL to perform backend logout, if you use `{id_token}` in the url it will be replaced by the actual `id_token` of the user session                                                                       |                       | | ||||||
| | flag: `--client-id`<br/>toml: `client_id`                                                           | string         | the OAuth Client ID, e.g. `"123456.apps.googleusercontent.com"`                                                                                                                           |                       | | | flag: `--client-id`<br/>toml: `client_id`                                                           | string         | the OAuth Client ID, e.g. `"123456.apps.googleusercontent.com"`                                                                                                                                          |                       | | ||||||
| | flag: `--client-secret-file`<br/>toml: `client_secret_file`                                         | string         | the file with OAuth Client Secret                                                                                                                                                         |                       | | | flag: `--client-secret-file`<br/>toml: `client_secret_file`                                         | string         | the file with OAuth Client Secret                                                                                                                                                                        |                       | | ||||||
| | flag: `--client-secret`<br/>toml: `client_secret`                                                   | string         | the OAuth Client Secret                                                                                                                                                                   |                       | | | flag: `--client-secret`<br/>toml: `client_secret`                                                   | string         | the OAuth Client Secret                                                                                                                                                                                  |                       | | ||||||
| | flag: `--code-challenge-method`<br/>toml: `code_challenge_method`                                   | string         | use PKCE code challenges with the specified method. Either 'plain' or 'S256' (recommended)                                                                                                |                       | | | flag: `--code-challenge-method`<br/>toml: `code_challenge_method`                                   | string         | use PKCE code challenges with the specified method. Either 'plain' or 'S256' (recommended)                                                                                                               |                       | | ||||||
| | flag: `--insecure-oidc-allow-unverified-email`<br/>toml: `insecure_oidc_allow_unverified_email`     | bool           | don't fail if an email address in an id_token is not verified                                                                                                                             | false                 | | | flag: `--insecure-oidc-allow-unverified-email`<br/>toml: `insecure_oidc_allow_unverified_email`     | bool           | don't fail if an email address in an id_token is not verified                                                                                                                                            | false                 | | ||||||
| | flag: `--insecure-oidc-skip-issuer-verification`<br/>toml: `insecure_oidc_skip_issuer_verification` | bool           | allow the OIDC issuer URL to differ from the expected (currently required for Azure multi-tenant compatibility)                                                                           | false                 | | | flag: `--insecure-oidc-skip-issuer-verification`<br/>toml: `insecure_oidc_skip_issuer_verification` | bool           | allow the OIDC issuer URL to differ from the expected (currently required for Azure multi-tenant compatibility)                                                                                          | false                 | | ||||||
| | flag: `--insecure-oidc-skip-nonce`<br/>toml: `insecure_oidc_skip_nonce`                             | bool           | skip verifying the OIDC ID Token's nonce claim                                                                                                                                            | true                  | | | flag: `--insecure-oidc-skip-nonce`<br/>toml: `insecure_oidc_skip_nonce`                             | bool           | skip verifying the OIDC ID Token's nonce claim                                                                                                                                                           | true                  | | ||||||
| | flag: `--jwt-key-file`<br/>toml: `jwt_key_file`                                                     | string         | path to the private key file in PEM format used to sign the JWT so that you can say something like `--jwt-key-file=/etc/ssl/private/jwt_signing_key.pem`: required by login.gov           |                       | | | flag: `--jwt-key-file`<br/>toml: `jwt_key_file`                                                     | string         | path to the private key file in PEM format used to sign the JWT so that you can say something like `--jwt-key-file=/etc/ssl/private/jwt_signing_key.pem`: required by login.gov                          |                       | | ||||||
| | flag: `--jwt-key`<br/>toml: `jwt_key`                                                               | string         | private key in PEM format used to sign JWT, so that you can say something like `--jwt-key="${OAUTH2_PROXY_JWT_KEY}"`: required by login.gov                                               |                       | | | flag: `--jwt-key`<br/>toml: `jwt_key`                                                               | string         | private key in PEM format used to sign JWT, so that you can say something like `--jwt-key="${OAUTH2_PROXY_JWT_KEY}"`: required by login.gov                                                              |                       | | ||||||
| | flag: `--login-url`<br/>toml: `login_url`                                                           | string         | Authentication endpoint                                                                                                                                                                   |                       | | | flag: `--login-url`<br/>toml: `login_url`                                                           | string         | Authentication endpoint                                                                                                                                                                                  |                       | | ||||||
| | flag: `--oidc-audience-claim`<br/>toml: `oidc_audience_claims`                                      | string         | which OIDC claim contains the audience                                                                                                                                                    | `"aud"`               | | | flag: `--oidc-audience-claim`<br/>toml: `oidc_audience_claims`                                      | string         | which OIDC claim contains the audience                                                                                                                                                                   | `"aud"`               | | ||||||
| | flag: `--oidc-email-claim`<br/>toml: `oidc_email_claim`                                             | string         | which OIDC claim contains the user's email                                                                                                                                                | `"email"`             | | | flag: `--oidc-email-claim`<br/>toml: `oidc_email_claim`                                             | string         | which OIDC claim contains the user's email                                                                                                                                                               | `"email"`             | | ||||||
| | flag: `--oidc-extra-audience`<br/>toml: `oidc_extra_audiences`                                      | string \| list | additional audiences which are allowed to pass verification                                                                                                                               | `"[]"`                | | | flag: `--oidc-extra-audience`<br/>toml: `oidc_extra_audiences`                                      | string \| list | additional audiences which are allowed to pass verification                                                                                                                                              | `"[]"`                | | ||||||
| | flag: `--oidc-groups-claim`<br/>toml: `oidc_groups_claim`                                           | string         | which OIDC claim contains the user groups                                                                                                                                                 | `"groups"`            | | | flag: `--oidc-groups-claim`<br/>toml: `oidc_groups_claim`                                           | string         | which OIDC claim contains the user groups                                                                                                                                                                | `"groups"`            | | ||||||
| | flag: `--oidc-issuer-url`<br/>toml: `oidc_issuer_url`                                               | string         | the OpenID Connect issuer URL, e.g. `"https://accounts.google.com"`                                                                                                                       |                       | | | flag: `--oidc-issuer-url`<br/>toml: `oidc_issuer_url`                                               | string         | the OpenID Connect issuer URL, e.g. `"https://accounts.google.com"`                                                                                                                                      |                       | | ||||||
| | flag: `--oidc-jwks-url`<br/>toml: `oidc_jwks_url`                                                   | string         | OIDC JWKS URI for token verification; required if OIDC discovery is disabled                                                                                                              |                       | | | flag: `--oidc-jwks-url`<br/>toml: `oidc_jwks_url`                                                   | string         | OIDC JWKS URI for token verification; required if OIDC discovery is disabled                                                                                                                             |                       | | ||||||
| | flag: `--profile-url`<br/>toml: `profile_url`                                                       | string         | Profile access endpoint                                                                                                                                                                   |                       | | | flag: `--profile-url`<br/>toml: `profile_url`                                                       | string         | Profile access endpoint                                                                                                                                                                                  |                       | | ||||||
| | flag: `--prompt`<br/>toml: `prompt`                                                                 | string         | [OIDC prompt](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest); if present, `approval-prompt` is ignored                                                                | `""`                  | | | flag: `--prompt`<br/>toml: `prompt`                                                                 | string         | [OIDC prompt](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest); if present, `approval-prompt` is ignored                                                                               | `""`                  | | ||||||
| | flag: `--provider-ca-file`<br/>toml: `provider_ca_files`                                             | string \| list | Paths to CA certificates that should be used when connecting to the provider. If not specified, the default Go trust sources are used instead.                                            | | | flag: `--provider-ca-file`<br/>toml: `provider_ca_files`                                            | string \| list | Paths to CA certificates that should be used when connecting to the provider. If not specified, the default Go trust sources are used instead.                                                           | | ||||||
| | flag: `--provider-display-name`<br/>toml: `provider_display_name`                                   | string         | Override the provider's name with the given string; used for the sign-in page                                                                                                             | (depends on provider) | | | flag: `--provider-display-name`<br/>toml: `provider_display_name`                                   | string         | Override the provider's name with the given string; used for the sign-in page                                                                                                                            | (depends on provider) | | ||||||
| | flag: `--provider`<br/>toml: `provider`                                                             | string         | OAuth provider                                                                                                                                                                            | google                | | | flag: `--provider`<br/>toml: `provider`                                                             | string         | OAuth provider                                                                                                                                                                                           | google                | | ||||||
| | flag: `--pubjwk-url`<br/>toml: `pubjwk_url`                                                         | string         | JWK pubkey access endpoint: required by login.gov                                                                                                                                         |                       | | | flag: `--pubjwk-url`<br/>toml: `pubjwk_url`                                                         | string         | JWK pubkey access endpoint: required by login.gov                                                                                                                                                        |                       | | ||||||
| | flag: `--redeem-url`<br/>toml: `redeem_url`                                                         | string         | Token redemption endpoint                                                                                                                                                                 |                       | | | flag: `--redeem-url`<br/>toml: `redeem_url`                                                         | string         | Token redemption endpoint                                                                                                                                                                                |                       | | ||||||
| | flag: `--scope`<br/>toml:`scope`                                                                    | string         | OAuth scope specification                                                                                                                                                                 |                       | | | flag: `--scope`<br/>toml:`scope`                                                                    | string         | OAuth scope specification. Every provider has a default list of scopes which will be used in case no scope is configured.                                                                                |                       | | ||||||
| | flag: `--skip-claims-from-profile-url`<br/>toml: `skip_claims_from_profile_url`                     | bool           | skip request to Profile URL for resolving claims not present in id_token                                                                                                                  | false                 | | | flag: `--skip-claims-from-profile-url`<br/>toml: `skip_claims_from_profile_url`                     | bool           | skip request to Profile URL for resolving claims not present in id_token                                                                                                                                 | false                 | | ||||||
| | flag: `--skip-oidc-discovery`<br/>toml: `skip_oidc_discovery`                                       | bool           | bypass OIDC endpoint discovery. `--login-url`, `--redeem-url` and `--oidc-jwks-url` must be configured in this case                                                                       | false                 | | | flag: `--skip-oidc-discovery`<br/>toml: `skip_oidc_discovery`                                       | bool           | bypass OIDC endpoint discovery. `--login-url`, `--redeem-url` and `--oidc-jwks-url` must be configured in this case                                                                                      | false                 | | ||||||
| | flag: `--use-system-trust-store`<br/>toml: `use_system_trust_store`                                 | bool           | Determines if `provider-ca-file` files and the system trust store are used. If set to true, your custom CA files and the system trust store are used otherwise only your custom CA files. | false                 | | | flag: `--use-system-trust-store`<br/>toml: `use_system_trust_store`                                 | bool           | Determines if `provider-ca-file` files and the system trust store are used. If set to true, your custom CA files and the system trust store are used otherwise only your custom CA files.                | false                 | | ||||||
| | flag: `--validate-url`<br/>toml: `validate_url`                                                     | string         | Access token validation endpoint                                                                                                                                                          |                       | | | flag: `--validate-url`<br/>toml: `validate_url`                                                     | string         | Access token validation endpoint                                                                                                                                                                         |                       | | ||||||
| 
 | 
 | ||||||
| ### Cookie Options | ### Cookie Options | ||||||
| 
 | 
 | ||||||
|  | @ -199,7 +199,7 @@ Provider specific options can be found on their respective subpages. | ||||||
| | flag: `--htpasswd-file`<br/>toml: `htpasswd_file`                         | string         | additionally authenticate against a htpasswd file. Entries must be created with `htpasswd -B` for bcrypt encryption                                                                                                           |             | | | flag: `--htpasswd-file`<br/>toml: `htpasswd_file`                         | string         | additionally authenticate against a htpasswd file. Entries must be created with `htpasswd -B` for bcrypt encryption                                                                                                           |             | | ||||||
| | flag: `--htpasswd-user-group`<br/>toml: `htpasswd_user_groups`            | string \| list | the groups to be set on sessions for htpasswd users                                                                                                                                                                           |             | | | flag: `--htpasswd-user-group`<br/>toml: `htpasswd_user_groups`            | string \| list | the groups to be set on sessions for htpasswd users                                                                                                                                                                           |             | | ||||||
| | flag: `--proxy-prefix`<br/>toml: `proxy_prefix`                           | string         | the url root path that this proxy should be nested under (e.g. /`<oauth2>/sign_in`)                                                                                                                                           | `"/oauth2"` | | | flag: `--proxy-prefix`<br/>toml: `proxy_prefix`                           | string         | the url root path that this proxy should be nested under (e.g. /`<oauth2>/sign_in`)                                                                                                                                           | `"/oauth2"` | | ||||||
| | flag: `--real-client-ip-header`<br/>toml: `real_client_ip_header`         | string         | Header used to determine the real IP of the client, requires `--reverse-proxy` to be set (one of: X-Forwarded-For, X-Real-IP, X-ProxyUser-IP, X-Envoy-External-Address, or CF-Connecting-IP)                                                    | X-Real-IP   | | | flag: `--real-client-ip-header`<br/>toml: `real_client_ip_header`         | string         | Header used to determine the real IP of the client, requires `--reverse-proxy` to be set (one of: X-Forwarded-For, X-Real-IP, X-ProxyUser-IP, X-Envoy-External-Address, or CF-Connecting-IP)                                  | X-Real-IP   | | ||||||
| | flag: `--redirect-url`<br/>toml: `redirect_url`                           | string         | the OAuth Redirect URL, e.g. `"https://internalapp.yourcompany.com/oauth2/callback"`                                                                                                                                          |             | | | flag: `--redirect-url`<br/>toml: `redirect_url`                           | string         | the OAuth Redirect URL, e.g. `"https://internalapp.yourcompany.com/oauth2/callback"`                                                                                                                                          |             | | ||||||
| | flag: `--relative-redirect-url`<br/>toml: `relative_redirect_url`         | bool           | allow relative OAuth Redirect URL.`                                                                                                                                                                                           | false       | | | flag: `--relative-redirect-url`<br/>toml: `relative_redirect_url`         | bool           | allow relative OAuth Redirect URL.`                                                                                                                                                                                           | false       | | ||||||
| | flag: `--reverse-proxy`<br/>toml: `reverse_proxy`                         | bool           | are we running behind a reverse proxy, controls whether headers like X-Real-IP are accepted and allows X-Forwarded-\{Proto,Host,Uri\} headers to be used on redirect selection                                                | false       | | | flag: `--reverse-proxy`<br/>toml: `reverse_proxy`                         | bool           | are we running behind a reverse proxy, controls whether headers like X-Real-IP are accepted and allows X-Forwarded-\{Proto,Host,Uri\} headers to be used on redirect selection                                                | false       | | ||||||
|  |  | ||||||
|  | @ -75,40 +75,40 @@ An example [oauth2-proxy.cfg](https://github.com/oauth2-proxy/oauth2-proxy/blob/ | ||||||
| 
 | 
 | ||||||
| Provider specific options can be found on their respective subpages. | Provider specific options can be found on their respective subpages. | ||||||
| 
 | 
 | ||||||
| | Flag / Config Field                                                                                 | Type           | Description                                                                                                                                                                               | Default               | | | Flag / Config Field                                                                                 | Type           | Description                                                                                                                                                                                              | Default               | | ||||||
| | --------------------------------------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | | --------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | ||||||
| | flag: `--acr-values`<br/>toml: `acr_values`                                                         | string         | optional, see [docs](https://openid.net/specs/openid-connect-eap-acr-values-1_0.html#acrValues)                                                                                           | `""`                  | | | flag: `--acr-values`<br/>toml: `acr_values`                                                         | string         | optional, see [docs](https://openid.net/specs/openid-connect-eap-acr-values-1_0.html#acrValues)                                                                                                          | `""`                  | | ||||||
| | flag: `--allowed-group`<br/>toml: `allowed_groups`                                                  | string \| list | restrict logins to members of this group (may be given multiple times)                                                                                                                    |                       | | | flag: `--allowed-group`<br/>toml: `allowed_groups`                                                  | string \| list | Restrict login to members of a group or list of groups. Furthermore, if you aren't setting the `scope` and use `allowed_groups` with the generic OIDC provider the scope `groups` gets added implicitly. |                       | | ||||||
| | flag: `--approval-prompt`<br/>toml: `approval_prompt`                                               | string         | OAuth approval_prompt                                                                                                                                                                     | `"force"`             | | | flag: `--approval-prompt`<br/>toml: `approval_prompt`                                               | string         | OAuth approval_prompt                                                                                                                                                                                    | `"force"`             | | ||||||
| | flag: `--backend-logout-url`<br/>toml: `backend_logout_url`                                         | string         | URL to perform backend logout, if you use `{id_token}` in the url it will be replaced by the actual `id_token` of the user session                                                        |                       | | | flag: `--backend-logout-url`<br/>toml: `backend_logout_url`                                         | string         | URL to perform backend logout, if you use `{id_token}` in the url it will be replaced by the actual `id_token` of the user session                                                                       |                       | | ||||||
| | flag: `--client-id`<br/>toml: `client_id`                                                           | string         | the OAuth Client ID, e.g. `"123456.apps.googleusercontent.com"`                                                                                                                           |                       | | | flag: `--client-id`<br/>toml: `client_id`                                                           | string         | the OAuth Client ID, e.g. `"123456.apps.googleusercontent.com"`                                                                                                                                          |                       | | ||||||
| | flag: `--client-secret-file`<br/>toml: `client_secret_file`                                         | string         | the file with OAuth Client Secret                                                                                                                                                         |                       | | | flag: `--client-secret-file`<br/>toml: `client_secret_file`                                         | string         | the file with OAuth Client Secret                                                                                                                                                                        |                       | | ||||||
| | flag: `--client-secret`<br/>toml: `client_secret`                                                   | string         | the OAuth Client Secret                                                                                                                                                                   |                       | | | flag: `--client-secret`<br/>toml: `client_secret`                                                   | string         | the OAuth Client Secret                                                                                                                                                                                  |                       | | ||||||
| | flag: `--code-challenge-method`<br/>toml: `code_challenge_method`                                   | string         | use PKCE code challenges with the specified method. Either 'plain' or 'S256' (recommended)                                                                                                |                       | | | flag: `--code-challenge-method`<br/>toml: `code_challenge_method`                                   | string         | use PKCE code challenges with the specified method. Either 'plain' or 'S256' (recommended)                                                                                                               |                       | | ||||||
| | flag: `--insecure-oidc-allow-unverified-email`<br/>toml: `insecure_oidc_allow_unverified_email`     | bool           | don't fail if an email address in an id_token is not verified                                                                                                                             | false                 | | | flag: `--insecure-oidc-allow-unverified-email`<br/>toml: `insecure_oidc_allow_unverified_email`     | bool           | don't fail if an email address in an id_token is not verified                                                                                                                                            | false                 | | ||||||
| | flag: `--insecure-oidc-skip-issuer-verification`<br/>toml: `insecure_oidc_skip_issuer_verification` | bool           | allow the OIDC issuer URL to differ from the expected (currently required for Azure multi-tenant compatibility)                                                                           | false                 | | | flag: `--insecure-oidc-skip-issuer-verification`<br/>toml: `insecure_oidc_skip_issuer_verification` | bool           | allow the OIDC issuer URL to differ from the expected (currently required for Azure multi-tenant compatibility)                                                                                          | false                 | | ||||||
| | flag: `--insecure-oidc-skip-nonce`<br/>toml: `insecure_oidc_skip_nonce`                             | bool           | skip verifying the OIDC ID Token's nonce claim                                                                                                                                            | true                  | | | flag: `--insecure-oidc-skip-nonce`<br/>toml: `insecure_oidc_skip_nonce`                             | bool           | skip verifying the OIDC ID Token's nonce claim                                                                                                                                                           | true                  | | ||||||
| | flag: `--jwt-key-file`<br/>toml: `jwt_key_file`                                                     | string         | path to the private key file in PEM format used to sign the JWT so that you can say something like `--jwt-key-file=/etc/ssl/private/jwt_signing_key.pem`: required by login.gov           |                       | | | flag: `--jwt-key-file`<br/>toml: `jwt_key_file`                                                     | string         | path to the private key file in PEM format used to sign the JWT so that you can say something like `--jwt-key-file=/etc/ssl/private/jwt_signing_key.pem`: required by login.gov                          |                       | | ||||||
| | flag: `--jwt-key`<br/>toml: `jwt_key`                                                               | string         | private key in PEM format used to sign JWT, so that you can say something like `--jwt-key="${OAUTH2_PROXY_JWT_KEY}"`: required by login.gov                                               |                       | | | flag: `--jwt-key`<br/>toml: `jwt_key`                                                               | string         | private key in PEM format used to sign JWT, so that you can say something like `--jwt-key="${OAUTH2_PROXY_JWT_KEY}"`: required by login.gov                                                              |                       | | ||||||
| | flag: `--login-url`<br/>toml: `login_url`                                                           | string         | Authentication endpoint                                                                                                                                                                   |                       | | | flag: `--login-url`<br/>toml: `login_url`                                                           | string         | Authentication endpoint                                                                                                                                                                                  |                       | | ||||||
| | flag: `--oidc-audience-claim`<br/>toml: `oidc_audience_claims`                                      | string         | which OIDC claim contains the audience                                                                                                                                                    | `"aud"`               | | | flag: `--oidc-audience-claim`<br/>toml: `oidc_audience_claims`                                      | string         | which OIDC claim contains the audience                                                                                                                                                                   | `"aud"`               | | ||||||
| | flag: `--oidc-email-claim`<br/>toml: `oidc_email_claim`                                             | string         | which OIDC claim contains the user's email                                                                                                                                                | `"email"`             | | | flag: `--oidc-email-claim`<br/>toml: `oidc_email_claim`                                             | string         | which OIDC claim contains the user's email                                                                                                                                                               | `"email"`             | | ||||||
| | flag: `--oidc-extra-audience`<br/>toml: `oidc_extra_audiences`                                      | string \| list | additional audiences which are allowed to pass verification                                                                                                                               | `"[]"`                | | | flag: `--oidc-extra-audience`<br/>toml: `oidc_extra_audiences`                                      | string \| list | additional audiences which are allowed to pass verification                                                                                                                                              | `"[]"`                | | ||||||
| | flag: `--oidc-groups-claim`<br/>toml: `oidc_groups_claim`                                           | string         | which OIDC claim contains the user groups                                                                                                                                                 | `"groups"`            | | | flag: `--oidc-groups-claim`<br/>toml: `oidc_groups_claim`                                           | string         | which OIDC claim contains the user groups                                                                                                                                                                | `"groups"`            | | ||||||
| | flag: `--oidc-issuer-url`<br/>toml: `oidc_issuer_url`                                               | string         | the OpenID Connect issuer URL, e.g. `"https://accounts.google.com"`                                                                                                                       |                       | | | flag: `--oidc-issuer-url`<br/>toml: `oidc_issuer_url`                                               | string         | the OpenID Connect issuer URL, e.g. `"https://accounts.google.com"`                                                                                                                                      |                       | | ||||||
| | flag: `--oidc-jwks-url`<br/>toml: `oidc_jwks_url`                                                   | string         | OIDC JWKS URI for token verification; required if OIDC discovery is disabled                                                                                                              |                       | | | flag: `--oidc-jwks-url`<br/>toml: `oidc_jwks_url`                                                   | string         | OIDC JWKS URI for token verification; required if OIDC discovery is disabled                                                                                                                             |                       | | ||||||
| | flag: `--profile-url`<br/>toml: `profile_url`                                                       | string         | Profile access endpoint                                                                                                                                                                   |                       | | | flag: `--profile-url`<br/>toml: `profile_url`                                                       | string         | Profile access endpoint                                                                                                                                                                                  |                       | | ||||||
| | flag: `--prompt`<br/>toml: `prompt`                                                                 | string         | [OIDC prompt](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest); if present, `approval-prompt` is ignored                                                                | `""`                  | | | flag: `--prompt`<br/>toml: `prompt`                                                                 | string         | [OIDC prompt](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest); if present, `approval-prompt` is ignored                                                                               | `""`                  | | ||||||
| | flag: `--provider-ca-file`<br/>toml: `provider_ca_files`                                             | string \| list | Paths to CA certificates that should be used when connecting to the provider. If not specified, the default Go trust sources are used instead.                                            | | | flag: `--provider-ca-file`<br/>toml: `provider_ca_files`                                            | string \| list | Paths to CA certificates that should be used when connecting to the provider. If not specified, the default Go trust sources are used instead.                                                           | | ||||||
| | flag: `--provider-display-name`<br/>toml: `provider_display_name`                                   | string         | Override the provider's name with the given string; used for the sign-in page                                                                                                             | (depends on provider) | | | flag: `--provider-display-name`<br/>toml: `provider_display_name`                                   | string         | Override the provider's name with the given string; used for the sign-in page                                                                                                                            | (depends on provider) | | ||||||
| | flag: `--provider`<br/>toml: `provider`                                                             | string         | OAuth provider                                                                                                                                                                            | google                | | | flag: `--provider`<br/>toml: `provider`                                                             | string         | OAuth provider                                                                                                                                                                                           | google                | | ||||||
| | flag: `--pubjwk-url`<br/>toml: `pubjwk_url`                                                         | string         | JWK pubkey access endpoint: required by login.gov                                                                                                                                         |                       | | | flag: `--pubjwk-url`<br/>toml: `pubjwk_url`                                                         | string         | JWK pubkey access endpoint: required by login.gov                                                                                                                                                        |                       | | ||||||
| | flag: `--redeem-url`<br/>toml: `redeem_url`                                                         | string         | Token redemption endpoint                                                                                                                                                                 |                       | | | flag: `--redeem-url`<br/>toml: `redeem_url`                                                         | string         | Token redemption endpoint                                                                                                                                                                                |                       | | ||||||
| | flag: `--scope`<br/>toml:`scope`                                                                    | string         | OAuth scope specification                                                                                                                                                                 |                       | | | flag: `--scope`<br/>toml:`scope`                                                                    | string         | OAuth scope specification. Every provider has a default list of scopes which will be used in case no scope is configured.                                                                                |                       | | ||||||
| | flag: `--skip-claims-from-profile-url`<br/>toml: `skip_claims_from_profile_url`                     | bool           | skip request to Profile URL for resolving claims not present in id_token                                                                                                                  | false                 | | | flag: `--skip-claims-from-profile-url`<br/>toml: `skip_claims_from_profile_url`                     | bool           | skip request to Profile URL for resolving claims not present in id_token                                                                                                                                 | false                 | | ||||||
| | flag: `--skip-oidc-discovery`<br/>toml: `skip_oidc_discovery`                                       | bool           | bypass OIDC endpoint discovery. `--login-url`, `--redeem-url` and `--oidc-jwks-url` must be configured in this case                                                                       | false                 | | | flag: `--skip-oidc-discovery`<br/>toml: `skip_oidc_discovery`                                       | bool           | bypass OIDC endpoint discovery. `--login-url`, `--redeem-url` and `--oidc-jwks-url` must be configured in this case                                                                                      | false                 | | ||||||
| | flag: `--use-system-trust-store`<br/>toml: `use_system_trust_store`                                 | bool           | Determines if `provider-ca-file` files and the system trust store are used. If set to true, your custom CA files and the system trust store are used otherwise only your custom CA files. | false                 | | | flag: `--use-system-trust-store`<br/>toml: `use_system_trust_store`                                 | bool           | Determines if `provider-ca-file` files and the system trust store are used. If set to true, your custom CA files and the system trust store are used otherwise only your custom CA files.                | false                 | | ||||||
| | flag: `--validate-url`<br/>toml: `validate_url`                                                     | string         | Access token validation endpoint                                                                                                                                                          |                       | | | flag: `--validate-url`<br/>toml: `validate_url`                                                     | string         | Access token validation endpoint                                                                                                                                                                         |                       | | ||||||
| 
 | 
 | ||||||
| ### Cookie Options | ### Cookie Options | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -75,40 +75,40 @@ An example [oauth2-proxy.cfg](https://github.com/oauth2-proxy/oauth2-proxy/blob/ | ||||||
| 
 | 
 | ||||||
| Provider specific options can be found on their respective subpages. | Provider specific options can be found on their respective subpages. | ||||||
| 
 | 
 | ||||||
| | Flag / Config Field                                                                                 | Type           | Description                                                                                                                                                                               | Default               | | | Flag / Config Field                                                                                 | Type           | Description                                                                                                                                                                                              | Default               | | ||||||
| | --------------------------------------------------------------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | | --------------------------------------------------------------------------------------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | ||||||
| | flag: `--acr-values`<br/>toml: `acr_values`                                                         | string         | optional, see [docs](https://openid.net/specs/openid-connect-eap-acr-values-1_0.html#acrValues)                                                                                           | `""`                  | | | flag: `--acr-values`<br/>toml: `acr_values`                                                         | string         | optional, see [docs](https://openid.net/specs/openid-connect-eap-acr-values-1_0.html#acrValues)                                                                                                          | `""`                  | | ||||||
| | flag: `--allowed-group`<br/>toml: `allowed_groups`                                                  | string \| list | restrict logins to members of this group (may be given multiple times)                                                                                                                    |                       | | | flag: `--allowed-group`<br/>toml: `allowed_groups`                                                  | string \| list | Restrict login to members of a group or list of groups. Furthermore, if you aren't setting the `scope` and use `allowed_groups` with the generic OIDC provider the scope `groups` gets added implicitly. |                       | | ||||||
| | flag: `--approval-prompt`<br/>toml: `approval_prompt`                                               | string         | OAuth approval_prompt                                                                                                                                                                     | `"force"`             | | | flag: `--approval-prompt`<br/>toml: `approval_prompt`                                               | string         | OAuth approval_prompt                                                                                                                                                                                    | `"force"`             | | ||||||
| | flag: `--backend-logout-url`<br/>toml: `backend_logout_url`                                         | string         | URL to perform backend logout, if you use `{id_token}` in the url it will be replaced by the actual `id_token` of the user session                                                        |                       | | | flag: `--backend-logout-url`<br/>toml: `backend_logout_url`                                         | string         | URL to perform backend logout, if you use `{id_token}` in the url it will be replaced by the actual `id_token` of the user session                                                                       |                       | | ||||||
| | flag: `--client-id`<br/>toml: `client_id`                                                           | string         | the OAuth Client ID, e.g. `"123456.apps.googleusercontent.com"`                                                                                                                           |                       | | | flag: `--client-id`<br/>toml: `client_id`                                                           | string         | the OAuth Client ID, e.g. `"123456.apps.googleusercontent.com"`                                                                                                                                          |                       | | ||||||
| | flag: `--client-secret-file`<br/>toml: `client_secret_file`                                         | string         | the file with OAuth Client Secret                                                                                                                                                         |                       | | | flag: `--client-secret-file`<br/>toml: `client_secret_file`                                         | string         | the file with OAuth Client Secret                                                                                                                                                                        |                       | | ||||||
| | flag: `--client-secret`<br/>toml: `client_secret`                                                   | string         | the OAuth Client Secret                                                                                                                                                                   |                       | | | flag: `--client-secret`<br/>toml: `client_secret`                                                   | string         | the OAuth Client Secret                                                                                                                                                                                  |                       | | ||||||
| | flag: `--code-challenge-method`<br/>toml: `code_challenge_method`                                   | string         | use PKCE code challenges with the specified method. Either 'plain' or 'S256' (recommended)                                                                                                |                       | | | flag: `--code-challenge-method`<br/>toml: `code_challenge_method`                                   | string         | use PKCE code challenges with the specified method. Either 'plain' or 'S256' (recommended)                                                                                                               |                       | | ||||||
| | flag: `--insecure-oidc-allow-unverified-email`<br/>toml: `insecure_oidc_allow_unverified_email`     | bool           | don't fail if an email address in an id_token is not verified                                                                                                                             | false                 | | | flag: `--insecure-oidc-allow-unverified-email`<br/>toml: `insecure_oidc_allow_unverified_email`     | bool           | don't fail if an email address in an id_token is not verified                                                                                                                                            | false                 | | ||||||
| | flag: `--insecure-oidc-skip-issuer-verification`<br/>toml: `insecure_oidc_skip_issuer_verification` | bool           | allow the OIDC issuer URL to differ from the expected (currently required for Azure multi-tenant compatibility)                                                                           | false                 | | | flag: `--insecure-oidc-skip-issuer-verification`<br/>toml: `insecure_oidc_skip_issuer_verification` | bool           | allow the OIDC issuer URL to differ from the expected (currently required for Azure multi-tenant compatibility)                                                                                          | false                 | | ||||||
| | flag: `--insecure-oidc-skip-nonce`<br/>toml: `insecure_oidc_skip_nonce`                             | bool           | skip verifying the OIDC ID Token's nonce claim                                                                                                                                            | true                  | | | flag: `--insecure-oidc-skip-nonce`<br/>toml: `insecure_oidc_skip_nonce`                             | bool           | skip verifying the OIDC ID Token's nonce claim                                                                                                                                                           | true                  | | ||||||
| | flag: `--jwt-key-file`<br/>toml: `jwt_key_file`                                                     | string         | path to the private key file in PEM format used to sign the JWT so that you can say something like `--jwt-key-file=/etc/ssl/private/jwt_signing_key.pem`: required by login.gov           |                       | | | flag: `--jwt-key-file`<br/>toml: `jwt_key_file`                                                     | string         | path to the private key file in PEM format used to sign the JWT so that you can say something like `--jwt-key-file=/etc/ssl/private/jwt_signing_key.pem`: required by login.gov                          |                       | | ||||||
| | flag: `--jwt-key`<br/>toml: `jwt_key`                                                               | string         | private key in PEM format used to sign JWT, so that you can say something like `--jwt-key="${OAUTH2_PROXY_JWT_KEY}"`: required by login.gov                                               |                       | | | flag: `--jwt-key`<br/>toml: `jwt_key`                                                               | string         | private key in PEM format used to sign JWT, so that you can say something like `--jwt-key="${OAUTH2_PROXY_JWT_KEY}"`: required by login.gov                                                              |                       | | ||||||
| | flag: `--login-url`<br/>toml: `login_url`                                                           | string         | Authentication endpoint                                                                                                                                                                   |                       | | | flag: `--login-url`<br/>toml: `login_url`                                                           | string         | Authentication endpoint                                                                                                                                                                                  |                       | | ||||||
| | flag: `--oidc-audience-claim`<br/>toml: `oidc_audience_claims`                                      | string         | which OIDC claim contains the audience                                                                                                                                                    | `"aud"`               | | | flag: `--oidc-audience-claim`<br/>toml: `oidc_audience_claims`                                      | string         | which OIDC claim contains the audience                                                                                                                                                                   | `"aud"`               | | ||||||
| | flag: `--oidc-email-claim`<br/>toml: `oidc_email_claim`                                             | string         | which OIDC claim contains the user's email                                                                                                                                                | `"email"`             | | | flag: `--oidc-email-claim`<br/>toml: `oidc_email_claim`                                             | string         | which OIDC claim contains the user's email                                                                                                                                                               | `"email"`             | | ||||||
| | flag: `--oidc-extra-audience`<br/>toml: `oidc_extra_audiences`                                      | string \| list | additional audiences which are allowed to pass verification                                                                                                                               | `"[]"`                | | | flag: `--oidc-extra-audience`<br/>toml: `oidc_extra_audiences`                                      | string \| list | additional audiences which are allowed to pass verification                                                                                                                                              | `"[]"`                | | ||||||
| | flag: `--oidc-groups-claim`<br/>toml: `oidc_groups_claim`                                           | string         | which OIDC claim contains the user groups                                                                                                                                                 | `"groups"`            | | | flag: `--oidc-groups-claim`<br/>toml: `oidc_groups_claim`                                           | string         | which OIDC claim contains the user groups                                                                                                                                                                | `"groups"`            | | ||||||
| | flag: `--oidc-issuer-url`<br/>toml: `oidc_issuer_url`                                               | string         | the OpenID Connect issuer URL, e.g. `"https://accounts.google.com"`                                                                                                                       |                       | | | flag: `--oidc-issuer-url`<br/>toml: `oidc_issuer_url`                                               | string         | the OpenID Connect issuer URL, e.g. `"https://accounts.google.com"`                                                                                                                                      |                       | | ||||||
| | flag: `--oidc-jwks-url`<br/>toml: `oidc_jwks_url`                                                   | string         | OIDC JWKS URI for token verification; required if OIDC discovery is disabled                                                                                                              |                       | | | flag: `--oidc-jwks-url`<br/>toml: `oidc_jwks_url`                                                   | string         | OIDC JWKS URI for token verification; required if OIDC discovery is disabled                                                                                                                             |                       | | ||||||
| | flag: `--profile-url`<br/>toml: `profile_url`                                                       | string         | Profile access endpoint                                                                                                                                                                   |                       | | | flag: `--profile-url`<br/>toml: `profile_url`                                                       | string         | Profile access endpoint                                                                                                                                                                                  |                       | | ||||||
| | flag: `--prompt`<br/>toml: `prompt`                                                                 | string         | [OIDC prompt](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest); if present, `approval-prompt` is ignored                                                                | `""`                  | | | flag: `--prompt`<br/>toml: `prompt`                                                                 | string         | [OIDC prompt](https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest); if present, `approval-prompt` is ignored                                                                               | `""`                  | | ||||||
| | flag: `--provider-ca-file`<br/>toml: `provider_ca_files`                                             | string \| list | Paths to CA certificates that should be used when connecting to the provider. If not specified, the default Go trust sources are used instead.                                            | | | flag: `--provider-ca-file`<br/>toml: `provider_ca_files`                                            | string \| list | Paths to CA certificates that should be used when connecting to the provider. If not specified, the default Go trust sources are used instead.                                                           | | ||||||
| | flag: `--provider-display-name`<br/>toml: `provider_display_name`                                   | string         | Override the provider's name with the given string; used for the sign-in page                                                                                                             | (depends on provider) | | | flag: `--provider-display-name`<br/>toml: `provider_display_name`                                   | string         | Override the provider's name with the given string; used for the sign-in page                                                                                                                            | (depends on provider) | | ||||||
| | flag: `--provider`<br/>toml: `provider`                                                             | string         | OAuth provider                                                                                                                                                                            | google                | | | flag: `--provider`<br/>toml: `provider`                                                             | string         | OAuth provider                                                                                                                                                                                           | google                | | ||||||
| | flag: `--pubjwk-url`<br/>toml: `pubjwk_url`                                                         | string         | JWK pubkey access endpoint: required by login.gov                                                                                                                                         |                       | | | flag: `--pubjwk-url`<br/>toml: `pubjwk_url`                                                         | string         | JWK pubkey access endpoint: required by login.gov                                                                                                                                                        |                       | | ||||||
| | flag: `--redeem-url`<br/>toml: `redeem_url`                                                         | string         | Token redemption endpoint                                                                                                                                                                 |                       | | | flag: `--redeem-url`<br/>toml: `redeem_url`                                                         | string         | Token redemption endpoint                                                                                                                                                                                |                       | | ||||||
| | flag: `--scope`<br/>toml:`scope`                                                                    | string         | OAuth scope specification                                                                                                                                                                 |                       | | | flag: `--scope`<br/>toml:`scope`                                                                    | string         | OAuth scope specification. Every provider has a default list of scopes which will be used in case no scope is configured.                                                                                |                       | | ||||||
| | flag: `--skip-claims-from-profile-url`<br/>toml: `skip_claims_from_profile_url`                     | bool           | skip request to Profile URL for resolving claims not present in id_token                                                                                                                  | false                 | | | flag: `--skip-claims-from-profile-url`<br/>toml: `skip_claims_from_profile_url`                     | bool           | skip request to Profile URL for resolving claims not present in id_token                                                                                                                                 | false                 | | ||||||
| | flag: `--skip-oidc-discovery`<br/>toml: `skip_oidc_discovery`                                       | bool           | bypass OIDC endpoint discovery. `--login-url`, `--redeem-url` and `--oidc-jwks-url` must be configured in this case                                                                       | false                 | | | flag: `--skip-oidc-discovery`<br/>toml: `skip_oidc_discovery`                                       | bool           | bypass OIDC endpoint discovery. `--login-url`, `--redeem-url` and `--oidc-jwks-url` must be configured in this case                                                                                      | false                 | | ||||||
| | flag: `--use-system-trust-store`<br/>toml: `use_system_trust_store`                                 | bool           | Determines if `provider-ca-file` files and the system trust store are used. If set to true, your custom CA files and the system trust store are used otherwise only your custom CA files. | false                 | | | flag: `--use-system-trust-store`<br/>toml: `use_system_trust_store`                                 | bool           | Determines if `provider-ca-file` files and the system trust store are used. If set to true, your custom CA files and the system trust store are used otherwise only your custom CA files.                | false                 | | ||||||
| | flag: `--validate-url`<br/>toml: `validate_url`                                                     | string         | Access token validation endpoint                                                                                                                                                          |                       | | | flag: `--validate-url`<br/>toml: `validate_url`                                                     | string         | Access token validation endpoint                                                                                                                                                                         |                       | | ||||||
| 
 | 
 | ||||||
| ### Cookie Options | ### Cookie Options | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -137,12 +137,32 @@ func TestScope(t *testing.T) { | ||||||
| 			expectedScope:   "openid email profile", | 			expectedScope:   "openid email profile", | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			name:            "oidc: with no scope provided and groups", | 			name:            "oidc: with no scope provided and allowed groups", | ||||||
| 			configuredType:  "oidc", | 			configuredType:  "oidc", | ||||||
| 			configuredScope: "", | 			configuredScope: "", | ||||||
| 			expectedScope:   "openid email profile groups", | 			expectedScope:   "openid email profile groups", | ||||||
| 			allowedGroups:   []string{"foo"}, | 			allowedGroups:   []string{"foo"}, | ||||||
| 		}, | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:            "oidc: with custom scope including groups without allowed groups", | ||||||
|  | 			configuredType:  "oidc", | ||||||
|  | 			configuredScope: "myscope groups", | ||||||
|  | 			expectedScope:   "myscope groups", | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:            "oidc: with custom scope without groups but allowed groups", | ||||||
|  | 			configuredType:  "oidc", | ||||||
|  | 			configuredScope: "myscope", | ||||||
|  | 			expectedScope:   "myscope", | ||||||
|  | 			allowedGroups:   []string{"foo"}, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:            "oidc: with custom scope with groups and allowed groups", | ||||||
|  | 			configuredType:  "oidc", | ||||||
|  | 			configuredScope: "myscope groups", | ||||||
|  | 			expectedScope:   "myscope groups", | ||||||
|  | 			allowedGroups:   []string{"foo"}, | ||||||
|  | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			name:            "oidc: with a configured scope provided", | 			name:            "oidc: with a configured scope provided", | ||||||
| 			configuredType:  "oidc", | 			configuredType:  "oidc", | ||||||
|  | @ -161,6 +181,27 @@ func TestScope(t *testing.T) { | ||||||
| 			configuredScope: "read:user read:org", | 			configuredScope: "read:user read:org", | ||||||
| 			expectedScope:   "read:user read:org", | 			expectedScope:   "read:user read:org", | ||||||
| 		}, | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:            "keycloak: with no scope provided and groups", | ||||||
|  | 			configuredType:  "keycloak-oidc", | ||||||
|  | 			configuredScope: "", | ||||||
|  | 			expectedScope:   "openid email profile groups", | ||||||
|  | 			allowedGroups:   []string{"foo"}, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:            "keycloak: with custom scope and groups", | ||||||
|  | 			configuredType:  "keycloak-oidc", | ||||||
|  | 			configuredScope: "myscope", | ||||||
|  | 			expectedScope:   "myscope", | ||||||
|  | 			allowedGroups:   []string{"foo"}, | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			name:            "keycloak: with custom scope and groups scope", | ||||||
|  | 			configuredType:  "keycloak-oidc", | ||||||
|  | 			configuredScope: "myscope groups", | ||||||
|  | 			expectedScope:   "myscope groups", | ||||||
|  | 			allowedGroups:   []string{"foo"}, | ||||||
|  | 		}, | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	for _, tc := range testCases { | 	for _, tc := range testCases { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue