UNPKG

payload-auth-plugin

Version:
548 lines (527 loc) 14.2 kB
import { b as OAuthBaseProviderConfig, c as OAuth2ProviderConfig, d as OIDCProviderConfig, P as PasskeyProviderConfig, a as PasswordProviderConfig } from '../types-D_f0kW5e.js'; import 'oauth4webapi'; type AppleAuthConfig$1 = OAuthBaseProviderConfig; /** * Add Apple OAuth2 Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/apple * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {AppleOAuth2Provider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * AppleOAuth2Provider({ * client_id: process.env.APPLE_CLIENT_ID as string, * client_secret: process.env.APPLE_CLIENT_SECRET as string, * }) * ] * }) * * ] * ``` * */ declare function AppleOAuth2Provider(config: AppleAuthConfig$1): OAuth2ProviderConfig; type AtlassianAuthConfig = OAuthBaseProviderConfig; /** * Add Atlassian OAuth2 Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/atlassian * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {AtlassianAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugins[] = [ * authPlugin({ * providers:[ * AtlassianAuthProvider({ * client_id: process.env.ATLASSIAN_CLIENT_ID as string, * client_secret: process.env.ATLASSIAN_CLIENT_SECRET as string, * }) * ] * }) * * ] * ``` * */ declare function AtlassianAuthProvider(config: AtlassianAuthConfig): OAuth2ProviderConfig; interface Auth0AuthConfig extends OAuthBaseProviderConfig { domain: string; } /** * Add Auth0 OAuth2 Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/auth0 * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {Auth0AuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * Auth0AuthProvider({ * client_id: process.env.AUTH0_CLIENT_ID as string, * client_secret: process.env.AUTH0_CLIENT_SECRET as string, * domain: process.env.AUTH0_DOMAIN as string, * }) * ] * }) * ] * ``` * */ declare function Auth0AuthProvider(config: Auth0AuthConfig): OAuth2ProviderConfig; type DiscordAuthConfig = OAuthBaseProviderConfig; /** * Add Discord OAuth2 Provider * * ``` * https://example.com/api/{name}/oauth/callback/discord * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {DiscordAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * DiscordAuthProvider({ * client_id: process.env.DISCORD_CLIENT_ID as string, * client_secret: process.env.DISCORD_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` * */ declare function DiscordAuthProvider(config: DiscordAuthConfig): OAuth2ProviderConfig; type FacebookAuthConfig = OAuthBaseProviderConfig; /** * Add Facebook OAuth2 Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/facebook * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {FacebookAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * FacebookAuthProvider({ * client_id: process.env.FACEBOOK_CLIENT_ID as string, * client_secret: process.env.FACEBOOK_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` */ declare function FacebookAuthProvider(config: FacebookAuthConfig): OAuth2ProviderConfig; type GitHubAuthConfig = OAuthBaseProviderConfig; /** * Add Github OAuth2 Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/github * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {GithubAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * GithubAuthProvider({ * client_id: process.env.GITHUB_CLIENT_ID as string, * client_secret: process.env.GITHUB_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` * */ declare function GitHubAuthProvider(config: GitHubAuthConfig): OAuth2ProviderConfig; type JumpCloudAuthConfig = OAuthBaseProviderConfig; /** * Add Jump Cloud OAuth2 Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/jumpcloud * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {JumpCloudAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * JumpCloudAuthProvider({ * client_id: process.env.JUMP_CLOUD_CLIENT_ID as string, * client_secret: process.env.JUMP_CLOUD_CLIENT_SECRET as string, * }) * ] * }) * ] */ declare function JumpCloudAuthProvider(config: JumpCloudAuthConfig): OAuth2ProviderConfig; type TwitchAuthConfig = OAuthBaseProviderConfig; /** * Add Twitch OAuth2 Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/twitch * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {TwitchAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * TwitchAuthProvider({ * client_id: process.env.TWITCH_CLIENT_ID as string, * client_secret: process.env.TWITCH_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` */ declare function TwitchAuthProvider(config: TwitchAuthConfig): OAuth2ProviderConfig; interface AppleAuthConfig extends OAuthBaseProviderConfig { client_id: string; params?: Record<string, string>; } /** * Add Apple OIDC Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/apple * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import { authPlugin } from "payload-auth-plugin" * import { AppleOIDCAuthProvider } from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * AppleOIDCAuthProvider({ * client_id: process.env.APPLE_CLIENT_ID as string, * }) * ] * }) * ``` * */ declare function AppleOIDCAuthProvider(config: AppleAuthConfig): OIDCProviderConfig; interface CognitoAuthConfig extends OAuthBaseProviderConfig { domain: string; } /** * Add Cognito OIDC Provider * * #### Callback or Redirect URL pattern * ``` * https://example.com/api/{name}/oauth/callback/cognito * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import { authPlugin } from "payload-auth-plugin" * import { CognitoAuthProvider } from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * CognitoAuthProvider({ * client_id: process.env.COGNITO_CLIENT_ID as string, * client_secret: process.env.COGNITO_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` * */ declare function CognitoAuthProvider(config: CognitoAuthConfig): OIDCProviderConfig; type GitLabAuthConfig = OAuthBaseProviderConfig; /** * Add GitLab OIDC Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/gitlab * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import { authPlugin } from "payload-auth-plugin" * import { GitLabAuthProvider } from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * GitLabAuthProvider({ * client_id: process.env.GITLAB_CLIENT_ID as string, * client_secret: process.env.GITLAB_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` * */ declare function GitLabAuthProvider(config: GitLabAuthConfig): OIDCProviderConfig; type GoogleAuthConfig = OAuthBaseProviderConfig; /** * Add Google OIDC Provider * * ``` * https://example.com/api/{name}/oauth/callback/google * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {GoogleAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * GoogleAuthProvider({ * client_id: process.env.GOOGLE_CLIENT_ID as string, * client_secret: process.env.GOOGLE_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` */ declare function GoogleAuthProvider(config: GoogleAuthConfig): OIDCProviderConfig; interface KeyCloakAuthConfig extends OAuthBaseProviderConfig { realm: string; domain: string; identifier: string; name: string; } /** * Add KeyCloak OIDC Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{app_name}/oauth/callback/{name} * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {KeyCloakAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * KeyCloakAuthProvider({ * realm: process.env.KEYCLOAK_REALM as string, * domain: process.env.KEYCLOAK_DOMAIN as string, * identifier: process.env.KEYCLOAK_IDENTIFIER as string, * name: process.env.KEYCLOAK_NAME as string, * client_id: process.env.KEYCLOAK_CLIENT_ID as string, * client_secret: process.env.KEYCLOAK_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` * */ declare function KeyCloakAuthProvider(config: KeyCloakAuthConfig): OIDCProviderConfig; type MicrosoftEntraAuthConfig = OAuthBaseProviderConfig & { tenant_id: string; skip_email_verification?: boolean | undefined; }; /** * Add Microsoft Entra OIDC Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/msft-entra * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import { authPlugin } from "payload-auth-plugin" * import { MicrosoftEntraAuthProvider } from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * MicrosoftEntraAuthProvider({ * tenant_id: process.env.MICROSOFTENTRA_TENANT_ID as string, * client_id: process.env.MICROSOFTENTRA_CLIENT_ID as string, * client_secret: process.env.MICROSOFTENTRA_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` * */ declare function MicrosoftEntraAuthProvider(config: MicrosoftEntraAuthConfig): OIDCProviderConfig; interface OktaAuthConfig extends OAuthBaseProviderConfig { domain: string; } declare function OktaAuthProvider(config: OktaAuthConfig): OIDCProviderConfig; interface RobloxAuthConfig extends OAuthBaseProviderConfig { /** * Domain is required to create custom email addresses, since Roblox does not share users’ actual email addresses for security and privacy reasons. The plugin automatically generates a unique custom email address for each new signup. */ emailDomain: string; skip_email_verification?: boolean | undefined; } /** * Add Roblox OIDC Provider * * ``` * https://example.com/api/{name}/oauth/callback/roblox * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {RobloxAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * RobloxAuthProvider({ * client_id: process.env.ROBLOX_CLIENT_ID as string, * client_secret: process.env.ROBLOX_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` */ declare function RobloxAuthProvider(config: RobloxAuthConfig): OIDCProviderConfig; type SlackAuthConfig = OAuthBaseProviderConfig; /** * Add Slack OIDC Provider * * #### Callback or Redirect URL pattern * * ``` * https://example.com/api/{name}/oauth/callback/slack * ``` * * #### Plugin Setup * * ```ts * import { Plugin } from 'payload' * import {authPlugin} from "payload-auth-plugin" * import {SlackAuthProvider} from "payload-auth-plugin/providers" * * export const plugins: Plugin[] = [ * authPlugin({ * providers:[ * SlackAuthProvider({ * client_id: process.env.SLACK_CLIENT_ID as string, * client_secret: process.env.SLACK_CLIENT_SECRET as string, * }) * ] * }) * ] * ``` * */ declare function SlackAuthProvider(config: SlackAuthConfig): OIDCProviderConfig; declare function PasskeyAuthProvider(): PasskeyProviderConfig; type PasswordProviderOptions = { /** * Email templates */ emailTemplates: { forgotPassword: any; }; }; declare function PasswordProvider(options: PasswordProviderOptions): PasswordProviderConfig; export { AppleOAuth2Provider, AppleOIDCAuthProvider, AtlassianAuthProvider, Auth0AuthProvider, CognitoAuthProvider, DiscordAuthProvider, FacebookAuthProvider, GitHubAuthProvider, GitLabAuthProvider, GoogleAuthProvider, JumpCloudAuthProvider, KeyCloakAuthProvider, MicrosoftEntraAuthProvider, OktaAuthProvider, PasskeyAuthProvider, PasswordProvider, RobloxAuthProvider, SlackAuthProvider, TwitchAuthProvider };