Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,54 @@ tests:
claim: "preferred_username"
groups:
claim: ""
- name: Cannot set prefixPolicy to Prefix when using username expression
initial: |
apiVersion: config.openshift.io/v1
kind: Authentication
spec:
type: OIDC
oidcProviders:
- name: myoidc
issuer:
issuerURL: https://meh.tld
audiences: ['openshift-aud']
claimMappings:
username:
expression: "claims.sub"
prefixPolicy: Prefix
prefix:
prefixString: "myoidc:"
expectedError: "prefixPolicy must not be set to 'Prefix' when expression is set"

- name: Can set prefixPolicy to NoPrefix when using username expression
initial: |
apiVersion: config.openshift.io/v1
kind: Authentication
spec:
type: OIDC
oidcProviders:
- name: myoidc
issuer:
issuerURL: https://meh.tld
audiences: ['openshift-aud']
claimMappings:
username:
expression: "claims.sub"
prefixPolicy: NoPrefix
expected: |
apiVersion: config.openshift.io/v1
kind: Authentication
spec:
type: OIDC
oidcProviders:
- name: myoidc
issuer:
issuerURL: https://meh.tld
audiences: ['openshift-aud']
claimMappings:
username:
expression: "claims.sub"
prefixPolicy: NoPrefix
onUpdate:
- name: Should allow updating other fields if existing username claim mapping is longer than 256 characters
initialCRDPatches:
Expand Down
1 change: 1 addition & 0 deletions config/v1/types_authentication.go
Original file line number Diff line number Diff line change
Expand Up @@ -618,6 +618,7 @@ type OIDCClientReference struct {
// +openshift:validation:FeatureGateAwareXValidation:featureGate=ExternalOIDC,rule="has(self.claim)",message="claim is required"
// +openshift:validation:FeatureGateAwareXValidation:featureGate=ExternalOIDCWithUIDAndExtraClaimMappings,rule="has(self.claim)",message="claim is required"
// +openshift:validation:FeatureGateAwareXValidation:featureGate=ExternalOIDCWithUpstreamParity,rule="has(self.claim) ? !has(self.expression) : has(self.expression)",message="precisely one of claim or expression must be set"
// +openshift:validation:FeatureGateAwareXValidation:featureGate=ExternalOIDCWithUpstreamParity,rule="has(self.expression) && size(self.expression) > 0 ? !has(self.prefixPolicy) || self.prefixPolicy != 'Prefix' : true",message="prefixPolicy must not be set to 'Prefix' when expression is set"
type UsernameClaimMapping struct {
// claim is an optional field that configures the JWT token claim whose value is assigned to the cluster identity field associated with this mapping.
// claim is required when the ExternalOIDCWithUpstreamParity feature gate is not enabled.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,11 @@ spec:
- message: precisely one of claim or expression must be
set
rule: 'has(self.claim) ? !has(self.expression) : has(self.expression)'
- message: prefixPolicy must not be set to 'Prefix' when
expression is set
rule: 'has(self.expression) && size(self.expression) >
0 ? !has(self.prefixPolicy) || self.prefixPolicy !=
''Prefix'' : true'
- message: prefix must be set if prefixPolicy is 'Prefix',
but must remain unset otherwise
rule: 'has(self.prefixPolicy) && self.prefixPolicy ==
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,11 @@ spec:
- message: precisely one of claim or expression must be
set
rule: 'has(self.claim) ? !has(self.expression) : has(self.expression)'
- message: prefixPolicy must not be set to 'Prefix' when
expression is set
rule: 'has(self.expression) && size(self.expression) >
0 ? !has(self.prefixPolicy) || self.prefixPolicy !=
''Prefix'' : true'
- message: prefix must be set if prefixPolicy is 'Prefix',
but must remain unset otherwise
rule: 'has(self.prefixPolicy) && self.prefixPolicy ==
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,11 @@ spec:
- message: precisely one of claim or expression must be
set
rule: 'has(self.claim) ? !has(self.expression) : has(self.expression)'
- message: prefixPolicy must not be set to 'Prefix' when
expression is set
rule: 'has(self.expression) && size(self.expression) >
0 ? !has(self.prefixPolicy) || self.prefixPolicy !=
''Prefix'' : true'
- message: prefix must be set if prefixPolicy is 'Prefix',
but must remain unset otherwise
rule: 'has(self.prefixPolicy) && self.prefixPolicy ==
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,11 @@ spec:
- message: precisely one of claim or expression must be
set
rule: 'has(self.claim) ? !has(self.expression) : has(self.expression)'
- message: prefixPolicy must not be set to 'Prefix' when
expression is set
rule: 'has(self.expression) && size(self.expression) >
0 ? !has(self.prefixPolicy) || self.prefixPolicy !=
''Prefix'' : true'
- message: prefix must be set if prefixPolicy is 'Prefix',
but must remain unset otherwise
rule: 'has(self.prefixPolicy) && self.prefixPolicy ==
Expand Down
Loading