出行365官方电话-365bet日博网址-beat365网合法吗

魔法链接

魔法链接

魔法链接或电子邮件链接是一种无需密码即可验证用户身份的方式。当用户输入他们的电子邮件地址时,系统会向其邮箱发送一个链接。当用户点击该链接后,即可完成身份验证。

安装

添加服务器插件将魔法链接插件添加到您的服务器:

server.tsimport { betterAuth } from "better-auth";

import { magicLink } from "better-auth/plugins";

export const auth = betterAuth({

plugins: [

magicLink({

sendMagicLink: async ({ email, token, url }, request) => {

// 向用户发送电子邮件

}

})

]

})添加客户端插件将魔法链接插件添加到您的客户端:

auth-client.tsimport { createAuthClient } from "better-auth/client";

import { magicLinkClient } from "better-auth/client/plugins";

const authClient = createAuthClient({

plugins: [

magicLinkClient()

]

});

使用方法

使用魔法链接登录

要使用魔法链接登录,您需要调用signIn.magicLink并提供用户的电子邮件地址。系统会调用sendMagicLink函数将魔法链接发送到用户的电子邮件。

magic-link.tsconst { data, error } = await authClient.signIn.magicLink({

email: "[email protected]",

callbackURL: "/dashboard", //成功登录后重定向的地址(可选)

});

如果用户尚未注册,除非将disableSignUp设置为true,否则系统将自动为用户注册。

验证魔法链接

当您将由sendMagicLink函数生成的URL发送给用户时,用户点击链接后将完成身份验证,并被重定向到signIn.magicLink函数中指定的callbackURL。如果发生错误,用户将被重定向到带有错误查询参数的callbackURL。

如果未提供callbackURL,用户将被重定向到根URL。

如果您想手动处理验证过程(例如,如果您向用户发送了不同的URL),可以使用verify函数。

magic-link.tsconst { data, error } = await authClient.magicLink.verify({

query: {

token,

},

});

配置选项

sendMagicLink:当用户请求魔法链接时调用的函数。它接收一个具有以下属性的对象:

email:用户的电子邮件地址。

url:要发送给用户的URL。此URL包含令牌。

token:如果您想使用自定义URL发送令牌,可以使用此令牌。

以及作为第二个参数的request对象。

expiresIn:指定魔法链接过期的时间(以秒为单位)。默认值为300秒(5分钟)。

disableSignUp:如果设置为true,用户将无法使用魔法链接注册。默认值为false。

generateToken:用于生成用于唯一标识用户的令牌的函数。默认值是一个随机字符串。有一个参数:

email:用户的电子邮件地址。

使用generateToken时,请确保返回的字符串难以猜测,因为它用于以保密方式验证某人的身份。默认情况下,我们返回一个长且加密安全的字符串。

手机号码如何使用better-auth的手机号码插件

电子邮件一次性密码Better Auth的电子邮件一次性密码插件。

相关推荐
半决赛 德国 0-1 西班牙
365bet日博网址

半决赛 德国 0-1 西班牙

📅 08-21 🔥 278
男人英文怎么写
beat365网合法吗

男人英文怎么写

📅 09-14 🔥 76
蚂蚁庄园怎么关闭 蚂蚁庄园关闭方法介绍
出行365官方电话

蚂蚁庄园怎么关闭 蚂蚁庄园关闭方法介绍

📅 08-21 🔥 860