Adds enterprise-managed authorization (EMA): browser-side IdP login + RFC 8693 token-exchange and JWT-bearer resource-token mint, per-server EMA opt-in in Server Settings, IdP config in Client Settings, and IdP clientSecret keychain storage. Includes the v2/main merge and review follow-ups (400 on malformed client config; normalizeIdpIssuer import consolidation).
9 lines
409 B
TypeScript
9 lines
409 B
TypeScript
/** Strip trailing slash so issuer URLs match across discovery, storage keys, and sessions. */
|
|
export function normalizeIdpIssuer(issuer: string): string {
|
|
return issuer.replace(/\/$/, "");
|
|
}
|
|
|
|
/** OAuth storage key for in-flight IdP OIDC (PKCE, metadata). Not an OAuth `state` param prefix. */
|
|
export function idpOAuthStorageKey(issuer: string): string {
|
|
return `ema-idp:${normalizeIdpIssuer(issuer)}`;
|
|
}
|