UNPKG

@auth/core

Version:

Authentication for the Web.

57 lines 2.05 kB
import type { CommonProviderOptions } from "./index.js"; import type { Awaitable, Theme } from "../types.js"; import type { NodemailerConfig, NodemailerUserConfig } from "./nodemailer.js"; /** * @deprecated * * Import this provider from the `providers/nodemailer` submodule instead of `providers/email`. * * To log in with nodemailer, change `signIn("email")` to `signIn("nodemailer")` */ export default function Email(config: NodemailerUserConfig): NodemailerConfig; export type EmailProviderType = "email"; export interface EmailConfig extends CommonProviderOptions { id: string; type: EmailProviderType; name: string; from: string; maxAge: number; sendVerificationRequest: (params: { identifier: string; url: string; expires: Date; provider: EmailConfig; token: string; theme: Theme; request: Request; }) => Awaitable<void>; /** Used to hash the verification token. */ secret?: string; /** Used with HTTP-based email providers. */ apiKey?: string; /** Used with SMTP-based email providers. */ server?: NodemailerConfig["server"]; generateVerificationToken?: () => Awaitable<string>; normalizeIdentifier?: (identifier: string) => string; options: EmailUserConfig; } export type EmailUserConfig = Omit<Partial<EmailConfig>, "options" | "type">; /** * Email HTML body * Insert invisible space into domains from being turned into a hyperlink by email * clients like Outlook and Apple mail, as this is confusing because it seems * like they are supposed to click on it to sign in. * * @note We don't add the email address to avoid needing to escape it, if you do, remember to sanitize it! */ export declare function html(params: { url: string; host: string; theme: Theme; }): string; /** Email Text body (fallback for email clients that don't render HTML, e.g. feature phones) */ export declare function text({ url, host }: { url: string; host: string; }): string; //# sourceMappingURL=email.d.ts.map