diff --git a/ui/src/api/schema.d.ts b/ui/src/api/schema.d.ts
index 7a0704fe..8ed5d579 100644
--- a/ui/src/api/schema.d.ts
+++ b/ui/src/api/schema.d.ts
@@ -1444,6 +1444,7 @@ export interface components {
defaultRoles?: string[];
autoSignup?: boolean;
displayNameClaim?: string;
+ userIdClaim?: string;
};
/** @description Error response */
ErrorResponse: {
@@ -1460,6 +1461,7 @@ export interface components {
defaultRoles?: string[];
autoSignup?: boolean;
displayNameClaim?: string;
+ userIdClaim?: string;
};
UpdateGroupRequest: {
name?: string;
diff --git a/ui/src/pages/Admin/OidcConfigPage.tsx b/ui/src/pages/Admin/OidcConfigPage.tsx
index 6ee52e14..4f765297 100644
--- a/ui/src/pages/Admin/OidcConfigPage.tsx
+++ b/ui/src/pages/Admin/OidcConfigPage.tsx
@@ -14,6 +14,7 @@ interface OidcFormData {
clientSecret: string;
rolesClaim: string;
displayNameClaim: string;
+ userIdClaim: string;
defaultRoles: string[];
}
@@ -25,6 +26,7 @@ const EMPTY_CONFIG: OidcFormData = {
clientSecret: '',
rolesClaim: 'roles',
displayNameClaim: 'name',
+ userIdClaim: 'sub',
defaultRoles: ['VIEWER'],
};
@@ -47,6 +49,7 @@ export default function OidcConfigPage() {
clientSecret: data.clientSecret ?? '',
rolesClaim: data.rolesClaim ?? 'roles',
displayNameClaim: data.displayNameClaim ?? 'name',
+ userIdClaim: data.userIdClaim ?? 'sub',
defaultRoles: data.defaultRoles ?? ['VIEWER'],
}))
.catch(() => setForm(EMPTY_CONFIG));
@@ -184,6 +187,13 @@ export default function OidcConfigPage() {
onChange={(e) => update('rolesClaim', e.target.value)}
/>
+
+ update('userIdClaim', e.target.value)}
+ />
+