Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
125fb34
feat(dex): add option to modify user id claim, skip email_verified vi…
kengou Oct 27, 2025
4874534
fix(api): fix default values
kengou Oct 27, 2025
f7b847a
update org sample
kengou Oct 28, 2025
d2320e3
fix org sample
kengou Oct 28, 2025
a7ae42c
Merge branch 'main' into feat/dex-orgconfig
kengou Oct 28, 2025
7a52ae1
introduce ExtraConfig
kengou Nov 16, 2025
da900f0
Automatic generation of CRD API Docs
cloud-operator-bot[bot] Nov 16, 2025
1e7cec3
Merge branch 'main' into feat/dex-orgconfig
kengou Jan 29, 2026
2290e27
Automatic generation of CRD API Docs
cloud-operator-bot[bot] Jan 29, 2026
969c4cf
Merge branch 'main' into feat/dex-orgconfig
kengou Feb 11, 2026
52ce0df
Update config/samples/organization/demo.yaml
kengou Feb 26, 2026
2d63648
Merge branch 'main' into feat/dex-orgconfig
kengou Mar 6, 2026
74fe8c2
Merge branch 'main' into feat/dex-orgconfig
kengou Mar 27, 2026
9480ff5
fix issues, add test and run generate
kengou Mar 27, 2026
68337c2
Merge branch 'main' into feat/dex-orgconfig
kengou Mar 31, 2026
e816e77
Merge branch 'main' into feat/dex-orgconfig
kengou Apr 2, 2026
2351fc3
Merge branch 'main' into feat/dex-orgconfig
kengou Apr 7, 2026
a714e74
Merge branch 'main' into feat/dex-orgconfig
kengou Apr 16, 2026
061166d
Merge branch 'main' into feat/dex-orgconfig
kengou Apr 19, 2026
a8200c7
Merge branch 'main' into feat/dex-orgconfig
kengou Apr 27, 2026
340f3f5
Merge branch 'main' into feat/dex-orgconfig
kengou May 5, 2026
acb80d3
Automatic generation of CRD API Docs
cloud-operator-bot[bot] May 5, 2026
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
7 changes: 7 additions & 0 deletions api/v1alpha1/organization_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@ type OIDCConfig struct {
// OAuth2ClientRedirectURIs are a registered set of redirect URIs. When redirecting from the idproxy to
// the client application, the URI requested to redirect to must be contained in this list.
OAuth2ClientRedirectURIs []string `json:"oauth2ClientRedirectURIs,omitempty"`
// InsecureSkipEmailVerified allows to skip the verification of the "email_verified" claim in ID tokens.
// +kubebuilder:default:=false
// +kubebuilder:validation:Enum:=true;false
InsecureSkipEmailVerified bool `json:"insecureSkipEmailVerified,omitempty"`
Comment thread
abhijith-darshan marked this conversation as resolved.
// UserIDClaim is the claim to be used as user ID.
// +kubebuilder:default:="login_name"
UserIDClaim string `json:"userIDClaim,omitempty"`
}

type SCIMConfig struct {
Expand Down
12 changes: 12 additions & 0 deletions charts/manager/crds/greenhouse.sap_organizations.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,14 @@ spec:
- key
- name
type: object
insecureSkipEmailVerified:
default: false
description: InsecureSkipEmailVerified allows to skip the
verification of the "email_verified" claim in ID tokens.
enum:
- true
- false
type: boolean
issuer:
description: Issuer is the URL of the identity service.
type: string
Expand All @@ -107,6 +115,10 @@ spec:
RedirectURI is the redirect URI to be used for the OIDC flow against the upstream IdP.
If none is specified, the Greenhouse ID proxy will be used.
type: string
userIDClaim:
default: login_name
description: UserIDClaim is the claim to be used as user ID.
type: string
required:
- clientIDReference
- clientSecretReference
Expand Down
2 changes: 2 additions & 0 deletions config/samples/organization/demo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,5 @@ spec:
name: demo-oidc
issuer: https://global.accounts.dev
redirectURI: https://bogus.accounts.foo
insecureSkipEmailVerified: true
userIDClaim: email
Comment thread
kengou marked this conversation as resolved.
Outdated
22 changes: 22 additions & 0 deletions docs/reference/api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1807,6 +1807,28 @@ <h3 id="greenhouse.sap/v1alpha1.OIDCConfig">OIDCConfig
the client application, the URI requested to redirect to must be contained in this list.</p>
</td>
</tr>
<tr>
<td>
<code>insecureSkipEmailVerified</code><br>
<em>
bool
</em>
</td>
<td>
<p>InsecureSkipEmailVerified allows to skip the verification of the &ldquo;email_verified&rdquo; claim in ID tokens.</p>
</td>
</tr>
<tr>
<td>
<code>userIDClaim</code><br>
<em>
string
</em>
</td>
<td>
<p>UserIDClaim is the claim to be used as user ID.</p>
</td>
Comment thread
kengou marked this conversation as resolved.
</tr>
</tbody>
</table>
</div>
Expand Down
11 changes: 11 additions & 0 deletions docs/reference/api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -669,6 +669,13 @@ components:
- key
- name
type: object
insecureSkipEmailVerified:
default: false
description: InsecureSkipEmailVerified allows to skip the verification of the "email_verified" claim in ID tokens.
enum:
- true
- false
type: boolean
issuer:
description: Issuer is the URL of the identity service.
type: string
Expand All @@ -684,6 +691,10 @@ components:
RedirectURI is the redirect URI to be used for the OIDC flow against the upstream IdP.
If none is specified, the Greenhouse ID proxy will be used.
type: string
userIDClaim:
default: login_name
description: UserIDClaim is the claim to be used as user ID.
type: string
required:
- clientIDReference
- clientSecretReference
Expand Down
17 changes: 9 additions & 8 deletions internal/controller/organization/dex.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,15 @@ func (r *OrganizationReconciler) reconcileDexConnector(ctx context.Context, org
return err
}
oidcConfig := &oidc.Config{
Issuer: org.Spec.Authentication.OIDCConfig.Issuer,
ClientID: clientID,
ClientSecret: clientSecret,
RedirectURI: redirectURL,
UserNameKey: "login_name",
UserIDKey: "login_name",
InsecureSkipVerify: true,
InsecureEnableGroups: true,
Issuer: org.Spec.Authentication.OIDCConfig.Issuer,
ClientID: clientID,
ClientSecret: clientSecret,
RedirectURI: redirectURL,
UserNameKey: org.Spec.Authentication.OIDCConfig.UserIDClaim,
UserIDKey: org.Spec.Authentication.OIDCConfig.UserIDClaim,
InsecureSkipEmailVerified: org.Spec.Authentication.OIDCConfig.InsecureSkipEmailVerified,
InsecureSkipVerify: true,
InsecureEnableGroups: true,
}
configByte, err := json.Marshal(oidcConfig)
if err != nil {
Expand Down
11 changes: 11 additions & 0 deletions types/typescript/schema.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,12 @@ export interface components {
/** @description Name of the secret in the same namespace. */
name: string;
};
/**
* @description InsecureSkipEmailVerified allows to skip the verification of the "email_verified" claim in ID tokens.
* @default false
* @enum {boolean}
*/
insecureSkipEmailVerified: true | false;
/** @description Issuer is the URL of the identity service. */
issuer: string;
/**
Expand All @@ -545,6 +551,11 @@ export interface components {
* If none is specified, the Greenhouse ID proxy will be used.
*/
redirectURI?: string;
/**
* @description UserIDClaim is the claim to be used as user ID.
* @default login_name
*/
userIDClaim: string;
};
/** @description SCIMConfig configures the SCIM client. */
scim?: {
Expand Down
Loading