-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add OIDC Federation Settings #479
base: main
Are you sure you want to change the base?
Add OIDC Federation Settings #479
Conversation
dbbfca9
to
1eaa22e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments.
Maybe I missed it, but I didn't see any kuttl or functional tests . Just the removal of a bunch of empty lines in keystoneapi_controller_test.go. Is that coming in a separate PR? |
Yeah, KUTTL and functional testing is coming in a follow-on patch that I'm working on now. |
03276e7
to
e39d541
Compare
e39d541
to
a521cd9
Compare
Functional tests are failing with
I'm not sure how to debug this failure as I haven't even added the test yet. @stuggi any ideas? |
/retest |
@d34dh0r53 have you tried to run the functional tests local? good to start with runnign them with e.g. |
recheck |
2f868a8
to
4a64a83
Compare
recheck |
/retest |
2 similar comments
/retest |
/retest |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: d34dh0r53 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[openid] | ||
remote_id_attribute={{ .federationRemoteIDAttribute }} | ||
|
||
[auth] | ||
methods = password,token,oauth1,mapped,application_credential,openid | ||
{{ end }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need to add this using an api parameter? we do not want to add tht parameters via the service operators api. a user could use the native interface with customServiceConfig to customize it.
type KeystoneFederationSpec struct { | ||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="OIDC-" | ||
// OIDCClaimPrefix | ||
OIDCClaimPrefix string `json:"oidcClaimPrefix"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="id_token" | ||
// OIDCResponseType | ||
OIDCResponseType string `json:"oidcResponseType"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="openid email profile" | ||
// OIDCScope | ||
OIDCScope string `json:"oidcScope"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="" | ||
// OIDCProviderMetadataURL | ||
OIDCProviderMetadataURL string `json:"oidcProviderMetadataURL"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="" | ||
// OIDCIntrospectionEndpoint | ||
OIDCIntrospectionEndpoint string `json:"oidcIntrospectionEndpoint"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="" | ||
// OIDCClientID | ||
OIDCClientID string `json:"oidcClientID"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default=";" | ||
// OIDCClaimDelimiter | ||
OIDCClaimDelimiter string `json:"oidcClaimDelimiter"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="claims" | ||
// OIDCPassUserInfoAs | ||
OIDCPassUserInfoAs string `json:"oidcPassUserInfoAs"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="both" | ||
// OIDCPassClaimsAs | ||
OIDCPassClaimsAs string `json:"oidcPassClaimsAs"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="memcache" | ||
// OIDCCacheType | ||
OIDCCacheType string `json:"oidcCacheType"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="HTTP_OIDC_ISS" | ||
// RemoteIDAttribute | ||
RemoteIDAttribute string `json:"remoteIDAttribute"` | ||
|
||
// +kubebuilder:validation:Optional | ||
// +kubebuilder:default="" | ||
// KeystoneFederationIdentityProviderName | ||
KeystoneFederationIdentityProviderName string `json:"keystoneFederationIdentityProviderName"` | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we probably should think of a generic config customizion interface for httpd, like we have with customServiceConfig to not require most of these parameters. but right now we do not have it.
This templates the OIDC federation settings needed to configure Keystone to perform federation authentication.
We need a public endpoint to build some redirect urls
ca6fbdc
to
44bd8f7
Compare
@d34dh0r53: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This templates the OIDC federation settings needed to configure Keystone to perform federation authentication.