Add enum validation for scopes and grant types
Signed-off-by: Margo Crawford <margaretc@vmware.com>
This commit is contained in:
parent
3cacb5b022
commit
0dec2eee32
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#! Copyright 2020-2021 the Pinniped contributors. All Rights Reserved.
|
#! Copyright 2020-2022 the Pinniped contributors. All Rights Reserved.
|
||||||
#! SPDX-License-Identifier: Apache-2.0
|
#! SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
#@ load("@ytt:overlay", "overlay")
|
#@ load("@ytt:overlay", "overlay")
|
||||||
@ -40,3 +40,12 @@ metadata:
|
|||||||
name: #@ pinnipedDevAPIGroupWithPrefix("activedirectoryidentityproviders.idp.supervisor")
|
name: #@ pinnipedDevAPIGroupWithPrefix("activedirectoryidentityproviders.idp.supervisor")
|
||||||
spec:
|
spec:
|
||||||
group: #@ pinnipedDevAPIGroupWithPrefix("idp.supervisor")
|
group: #@ pinnipedDevAPIGroupWithPrefix("idp.supervisor")
|
||||||
|
|
||||||
|
#@overlay/match by=overlay.subset({"kind": "CustomResourceDefinition", "metadata":{"name":"oidcclients.oauth.supervisor.pinniped.dev"}}), expects=1
|
||||||
|
---
|
||||||
|
metadata:
|
||||||
|
#@overlay/match missing_ok=True
|
||||||
|
labels: #@ labels()
|
||||||
|
name: #@ pinnipedDevAPIGroupWithPrefix("oidcclients.oauth.supervisor")
|
||||||
|
spec:
|
||||||
|
group: #@ pinnipedDevAPIGroupWithPrefix("oauth.supervisor")
|
||||||
|
4
generated/1.17/README.adoc
generated
4
generated/1.17/README.adoc
generated
@ -1377,9 +1377,9 @@ OIDCClientSpec is a struct that describes an OIDC Client.
|
|||||||
|===
|
|===
|
||||||
| Field | Description
|
| Field | Description
|
||||||
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
||||||
| *`allowedGrantTypes`* __string array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
| *`allowedGrantTypes`* __GrantType array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
| *`allowedScopes`* __string array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
| *`allowedScopes`* __Scope array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
4
generated/1.18/README.adoc
generated
4
generated/1.18/README.adoc
generated
@ -1377,9 +1377,9 @@ OIDCClientSpec is a struct that describes an OIDC Client.
|
|||||||
|===
|
|===
|
||||||
| Field | Description
|
| Field | Description
|
||||||
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
||||||
| *`allowedGrantTypes`* __string array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
| *`allowedGrantTypes`* __GrantType array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
| *`allowedScopes`* __string array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
| *`allowedScopes`* __Scope array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
4
generated/1.19/README.adoc
generated
4
generated/1.19/README.adoc
generated
@ -1377,9 +1377,9 @@ OIDCClientSpec is a struct that describes an OIDC Client.
|
|||||||
|===
|
|===
|
||||||
| Field | Description
|
| Field | Description
|
||||||
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
||||||
| *`allowedGrantTypes`* __string array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
| *`allowedGrantTypes`* __GrantType array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
| *`allowedScopes`* __string array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
| *`allowedScopes`* __Scope array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
4
generated/1.20/README.adoc
generated
4
generated/1.20/README.adoc
generated
@ -1377,9 +1377,9 @@ OIDCClientSpec is a struct that describes an OIDC Client.
|
|||||||
|===
|
|===
|
||||||
| Field | Description
|
| Field | Description
|
||||||
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
||||||
| *`allowedGrantTypes`* __string array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
| *`allowedGrantTypes`* __GrantType array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
| *`allowedScopes`* __string array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
| *`allowedScopes`* __Scope array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
4
generated/1.21/README.adoc
generated
4
generated/1.21/README.adoc
generated
@ -1377,9 +1377,9 @@ OIDCClientSpec is a struct that describes an OIDC Client.
|
|||||||
|===
|
|===
|
||||||
| Field | Description
|
| Field | Description
|
||||||
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
||||||
| *`allowedGrantTypes`* __string array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
| *`allowedGrantTypes`* __GrantType array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
| *`allowedScopes`* __string array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
| *`allowedScopes`* __Scope array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
4
generated/1.22/README.adoc
generated
4
generated/1.22/README.adoc
generated
@ -1377,9 +1377,9 @@ OIDCClientSpec is a struct that describes an OIDC Client.
|
|||||||
|===
|
|===
|
||||||
| Field | Description
|
| Field | Description
|
||||||
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
||||||
| *`allowedGrantTypes`* __string array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
| *`allowedGrantTypes`* __GrantType array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
| *`allowedScopes`* __string array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
| *`allowedScopes`* __Scope array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
4
generated/1.23/README.adoc
generated
4
generated/1.23/README.adoc
generated
@ -1377,9 +1377,9 @@ OIDCClientSpec is a struct that describes an OIDC Client.
|
|||||||
|===
|
|===
|
||||||
| Field | Description
|
| Field | Description
|
||||||
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
| *`allowedRedirectURIs`* __string array__ | allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this client. Any other uris will be rejected. Must be https, unless it is a loopback.
|
||||||
| *`allowedGrantTypes`* __string array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
| *`allowedGrantTypes`* __GrantType array__ | allowedGrantTypes is a list of the allowed grant_type param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
Must only contain the following values: - authorization_code: allows the client to perform the authorization code grant flow, i.e. allows the webapp to authenticate users. This grant must always be listed. - refresh_token: allows the client to perform refresh grants for the user to extend the user's session. This grant must be listed if allowedScopes lists offline_access. - urn:ietf:params:oauth:grant-type:token-exchange: allows the client to perform RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
| *`allowedScopes`* __string array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
| *`allowedScopes`* __Scope array__ | allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
Must only contain the following values: - openid: The client is allowed to request ID tokens. ID tokens only include the required claims by default (iss, sub, aud, exp, iat). This scope must always be listed. - offline_access: The client is allowed to request an initial refresh token during the authorization code grant flow. This scope must be listed if allowedGrantTypes lists refresh_token. - pinniped:request-audience: The client is allowed to request a new audience value during a RFC8693 token exchange, which is a step in the process to be able to get a cluster credential for the user. openid, username and groups scopes must be listed when this scope is present. This scope must be listed if allowedGrantTypes lists urn:ietf:params:oauth:grant-type:token-exchange. - username: The client is allowed to request that ID tokens contain the user's username. Without the username scope being requested and allowed, the ID token will not contain the user's username. - groups: The client is allowed to request that ID tokens contain the user's group membership, if their group membership is discoverable by the Supervisor. Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
|===
|
|===
|
||||||
|
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
@ -54,6 +54,10 @@ spec:
|
|||||||
step in the process to be able to get a cluster credential for the
|
step in the process to be able to get a cluster credential for the
|
||||||
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
user. This grant must be listed if allowedScopes lists pinniped:request-audience."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- authorization_code
|
||||||
|
- refresh_token
|
||||||
|
- urn:ietf:params:oauth:grant-type:token-exchange
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
@ -89,6 +93,12 @@ spec:
|
|||||||
the groups scope being requested and allowed, the ID token will
|
the groups scope being requested and allowed, the ID token will
|
||||||
not contain groups."
|
not contain groups."
|
||||||
items:
|
items:
|
||||||
|
enum:
|
||||||
|
- openid
|
||||||
|
- offline_access
|
||||||
|
- username
|
||||||
|
- groups
|
||||||
|
- pinniped:request-audience
|
||||||
type: string
|
type: string
|
||||||
minItems: 1
|
minItems: 1
|
||||||
type: array
|
type: array
|
||||||
|
@ -7,6 +7,12 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="authorization_code";"refresh_token";"urn:ietf:params:oauth:grant-type:token-exchange"
|
||||||
|
type GrantType string
|
||||||
|
|
||||||
|
// +kubebuilder:validation:Enum="openid";"offline_access";"username";"groups";"pinniped:request-audience"
|
||||||
|
type Scope string
|
||||||
|
|
||||||
// OIDCClientSpec is a struct that describes an OIDC Client.
|
// OIDCClientSpec is a struct that describes an OIDC Client.
|
||||||
type OIDCClientSpec struct {
|
type OIDCClientSpec struct {
|
||||||
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
// allowedRedirectURIs is a list of the allowed redirect_uri param values that should be accepted during OIDC flows with this
|
||||||
@ -27,7 +33,7 @@ type OIDCClientSpec struct {
|
|||||||
// which is a step in the process to be able to get a cluster credential for the user.
|
// which is a step in the process to be able to get a cluster credential for the user.
|
||||||
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
// This grant must be listed if allowedScopes lists pinniped:request-audience.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedGrantTypes []string `json:"allowedGrantTypes"`
|
AllowedGrantTypes []GrantType `json:"allowedGrantTypes"`
|
||||||
|
|
||||||
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
// allowedScopes is a list of the allowed scopes param values that should be accepted during OIDC flows with this client.
|
||||||
//
|
//
|
||||||
@ -46,7 +52,7 @@ type OIDCClientSpec struct {
|
|||||||
// if their group membership is discoverable by the Supervisor.
|
// if their group membership is discoverable by the Supervisor.
|
||||||
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
// Without the groups scope being requested and allowed, the ID token will not contain groups.
|
||||||
// +kubebuilder:validation:MinItems=1
|
// +kubebuilder:validation:MinItems=1
|
||||||
AllowedScopes []string `json:"allowedScopes"`
|
AllowedScopes []Scope `json:"allowedScopes"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
// OIDCClientStatus is a struct that describes the actual state of an OIDC Client.
|
||||||
|
@ -83,12 +83,12 @@ func (in *OIDCClientSpec) DeepCopyInto(out *OIDCClientSpec) {
|
|||||||
}
|
}
|
||||||
if in.AllowedGrantTypes != nil {
|
if in.AllowedGrantTypes != nil {
|
||||||
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
in, out := &in.AllowedGrantTypes, &out.AllowedGrantTypes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]GrantType, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
if in.AllowedScopes != nil {
|
if in.AllowedScopes != nil {
|
||||||
in, out := &in.AllowedScopes, &out.AllowedScopes
|
in, out := &in.AllowedScopes, &out.AllowedScopes
|
||||||
*out = make([]string, len(*in))
|
*out = make([]Scope, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user