mirror of
https://github.com/fosrl/pangolin.git
synced 2026-04-02 19:59:14 +00:00
add google and azure templates to global idp
This commit is contained in:
46
src/lib/idp/oidcIdpProviderDefaults.ts
Normal file
46
src/lib/idp/oidcIdpProviderDefaults.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import type { FieldValues, UseFormSetValue } from "react-hook-form";
|
||||
|
||||
export type IdpOidcProviderType = "oidc" | "google" | "azure";
|
||||
|
||||
export function applyOidcIdpProviderType<T extends FieldValues>(
|
||||
setValue: UseFormSetValue<T>,
|
||||
provider: IdpOidcProviderType
|
||||
): void {
|
||||
setValue("type" as never, provider as never);
|
||||
|
||||
if (provider === "google") {
|
||||
setValue(
|
||||
"authUrl" as never,
|
||||
"https://accounts.google.com/o/oauth2/v2/auth" as never
|
||||
);
|
||||
setValue(
|
||||
"tokenUrl" as never,
|
||||
"https://oauth2.googleapis.com/token" as never
|
||||
);
|
||||
setValue("identifierPath" as never, "email" as never);
|
||||
setValue("emailPath" as never, "email" as never);
|
||||
setValue("namePath" as never, "name" as never);
|
||||
setValue("scopes" as never, "openid profile email" as never);
|
||||
} else if (provider === "azure") {
|
||||
setValue(
|
||||
"authUrl" as never,
|
||||
"https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/authorize" as never
|
||||
);
|
||||
setValue(
|
||||
"tokenUrl" as never,
|
||||
"https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/token" as never
|
||||
);
|
||||
setValue("identifierPath" as never, "email" as never);
|
||||
setValue("emailPath" as never, "email" as never);
|
||||
setValue("namePath" as never, "name" as never);
|
||||
setValue("scopes" as never, "openid profile email" as never);
|
||||
setValue("tenantId" as never, "" as never);
|
||||
} else {
|
||||
setValue("authUrl" as never, "" as never);
|
||||
setValue("tokenUrl" as never, "" as never);
|
||||
setValue("identifierPath" as never, "sub" as never);
|
||||
setValue("namePath" as never, "name" as never);
|
||||
setValue("emailPath" as never, "email" as never);
|
||||
setValue("scopes" as never, "openid profile email" as never);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user