英格兰世界杯预选赛_世界杯卡塔尔 - sctzjx.com

魔法链接

  • Home
  • 世界杯有中国队吗
  • 魔法链接
  • 2025-09-06 23:40:59
  • admin

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

安装

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

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的电子邮件一次性密码插件。

Previus Post
苦苣根多少一斤 详细了解苦苣根这种植物

Copyright © 2088 英格兰世界杯预选赛_世界杯卡塔尔 - sctzjx.com All Rights Reserved.
友情链接