Skip to content

Commit

Permalink
Add support for Magic Links
Browse files Browse the repository at this point in the history
  • Loading branch information
scotttrinh committed Mar 6, 2024
1 parent fcf0570 commit aaca35e
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/auth-core/src/consts.ts
Expand Up @@ -13,3 +13,4 @@ export type BuiltinOAuthProviderNames =

export const emailPasswordProviderName = "builtin::local_emailpassword";
export const webAuthnProviderName = "builtin::local_webauthn";
export const magicLinkProviderName = "builtin::local_magic_link";
31 changes: 31 additions & 0 deletions packages/auth-core/src/core.ts
Expand Up @@ -7,6 +7,7 @@ import {
type BuiltinOAuthProviderNames,
emailPasswordProviderName,
webAuthnProviderName,
magicLinkProviderName,
} from "./consts";
import { requestGET, requestPOST } from "./utils";
import type {
Expand Down Expand Up @@ -172,6 +173,36 @@ export class Auth {
return this.getToken(code, verifier);
}

async signupWithMagicLink(
email: string,
callbackUrl: string,
redirectOnFailure: string,
challenge: string
): Promise<void> {
await this._post("magic-link/register", {
provider: magicLinkProviderName,
challenge,
email,
callback_url: callbackUrl,
redirect_on_failure: redirectOnFailure,
});
}

async signinWithMagicLink(
email: string,
callbackUrl: string,
redirectOnFailure: string,
challenge: string
): Promise<void> {
await this._post("magic-link/email", {
provider: magicLinkProviderName,
challenge,
email,
callback_url: callbackUrl,
redirect_on_failure: redirectOnFailure,
});
}

async resendVerificationEmail(verificationToken: string) {
await this._post("resend-verification-email", {
provider: emailPasswordProviderName,
Expand Down

0 comments on commit aaca35e

Please sign in to comment.