fix role extraction in idp form

This commit is contained in:
miloschwartz
2025-10-08 17:49:30 -07:00
parent e0996a17ef
commit e601038c0f

View File

@@ -144,7 +144,7 @@ export default function GeneralPage() {
}; };
const form = useForm<GeneralFormValues>({ const form = useForm<GeneralFormValues>({
resolver: zodResolver(getFormSchema()) as any, // is this right? resolver: zodResolver(getFormSchema()) as any, // is this right?
defaultValues: { defaultValues: {
name: "", name: "",
clientId: "", clientId: "",
@@ -236,17 +236,11 @@ export default function GeneralPage() {
let tenantId = ""; let tenantId = "";
if (idpVariant === "azure" && data.idpOidcConfig?.authUrl) { if (idpVariant === "azure" && data.idpOidcConfig?.authUrl) {
// Azure URL format: https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize // Azure URL format: https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize
console.log(
"Azure authUrl:",
data.idpOidcConfig.authUrl
);
const tenantMatch = data.idpOidcConfig.authUrl.match( const tenantMatch = data.idpOidcConfig.authUrl.match(
/login\.microsoftonline\.com\/([^\/]+)\/oauth2/ /login\.microsoftonline\.com\/([^\/]+)\/oauth2/
); );
console.log("Tenant match:", tenantMatch);
if (tenantMatch) { if (tenantMatch) {
tenantId = tenantMatch[1]; tenantId = tenantMatch[1];
console.log("Extracted tenantId:", tenantId);
} }
} }
@@ -262,8 +256,6 @@ export default function GeneralPage() {
: matchingRoleId || null : matchingRoleId || null
}; };
console.log(formData);
// Add variant-specific fields // Add variant-specific fields
if (idpVariant === "oidc") { if (idpVariant === "oidc") {
formData.authUrl = data.idpOidcConfig.authUrl; formData.authUrl = data.idpOidcConfig.authUrl;
@@ -276,7 +268,6 @@ export default function GeneralPage() {
formData.scopes = data.idpOidcConfig.scopes; formData.scopes = data.idpOidcConfig.scopes;
} else if (idpVariant === "azure") { } else if (idpVariant === "azure") {
formData.tenantId = tenantId; formData.tenantId = tenantId;
console.log("Setting tenantId in formData:", tenantId);
} }
form.reset(formData); form.reset(formData);
@@ -284,7 +275,7 @@ export default function GeneralPage() {
// Set the role mapping mode based on the data // Set the role mapping mode based on the data
// Default to "expression" unless it's a simple roleId or basic '{role name}' pattern // Default to "expression" unless it's a simple roleId or basic '{role name}' pattern
setRoleMappingMode( setRoleMappingMode(
isRoleId || isRoleName ? "role" : "expression" matchingRoleId && isRoleName ? "role" : "expression"
); );
} }
} catch (e) { } catch (e) {