什么是 Magic Link?

2025年3月17日 | 阅读 15 分钟

Magic Link 是一种包含嵌入式令牌的 URL,允许用户在不输入密码的情况下登录。这些链接通常会发送到用户的电子邮件帐户,但也可以通过 SMS 以及 WhatsApp 等其他消息系统进行分发。Magic link 身份验证(如果使用得当)可大大增强用户体验,降低因忘记登录凭据而导致的流失率,并提高应用转化率。

用户认识 Magic Link,是因为他们以前也遇到过类似的(尽管不那么令人愉快)流程,例如重置密码。它们的功能也类似于一次性密码 (OTP),只是它们是链接而不是数字 PIN。

由于 Magic Link 消除了与密码相关的挑战,因此它们确实引入了一些新的安全风险。因此,Magic Link 有时会用于多因素身份验证 (MFA) 技术,以提高安全性。

什么是无需密码的 Magic Link?

无需密码的 Magic Link 使您能够通过电子邮件链接即时登录。此过程类似于接收一次性密码 (OTP),但您可能需要在重定向到相应页面和应用程序时实际输入 OTP。在匿名 Magic Link 的情况下,您只需点击电子邮件中提供的链接即可立即登录。

Magic Link 的优势

将 Magic Link 功能添加到您的智能手机应用程序或电子邮件地址中,您很可能是在努力使您的应用程序或网站更易于使用,同时也有助于实现强大的安全方法。以下是您应该使用无密码 Magic Link 的一些原因。

非常适合不频繁的登录要求:在每个用户会话开始时,都会发出一个无密码系统的 Magic Link 来一次性验证用户。这种 Magic Link 注册实施特别适用于需要单次或不频繁身份验证的移动应用程序或电子邮件帐户登录过程,从而方便访问。

防止基于密码的攻击:在当今世界,数据泄露、安全漏洞和网络钓鱼事件层出不穷。所需的凭据已大量丢失,因此 Magic Link 密码安全通过防止涉及密码的安全问题来确保其安全。

Magic Link 身份验证如何工作?

这是消费者在使用 Magic Link 身份验证时看到的情况

  1. 用户在应用登录页面输入他们的电子邮件地址。
  2. 用户将收到一封带有链接的电子邮件。
  3. 当一个人点击该链接时,他们就登录了。

上述流程的简洁性很可能是“Magic”一词的由来。然而,幕后还有一些事情在发生。以下是 Magic Link 更详细的工作原理:

  • 在应用程序登录页面,用户输入他们的电子邮件地址。
  • 如果注册用户尝试登录,则会根据数据库验证电子邮件地址。
  • 该软件会创建一个令牌并将其放入 Magic Link 中。此外,还会保存令牌以供将来验证。
  • 该应用程序通过电子邮件将链接发送给用户。链接可以附带其他属性,例如到期日期和会话时间限制。
  • 当个人点击链接时,程序会验证令牌。
  • 用户现在已登录。

如果前面的步骤听起来很熟悉,那是因为它们与密码重置流程中发生的情况非常相似。密码重置链接将用户导向一个可以生成新用户名和密码的页面,而 Magic Link 则允许用户访问资源。

Medium 和 Slack 等许多应用程序都使用了 Magic Link 身份验证。

What is a Magic Link

Magic Link 的使用示例

Slack 应用是 Magic Link 最著名的例子之一。Magic Link 是在线登录流程的一部分,并由醒目的“发送 Magic Link”按钮推广。

  • 然而,Slack 只是众多采用 Magic Link 的服务和应用程序之一。Magic Link 可能有用的其他场景包括
  • 身份验证不频繁的情况:Magic Link 的效果很好,因为用户只需在会话开始时进行一次验证。使用复杂的密码会使流程复杂化。
  • 设备已存在身份验证的情况:如果您已经执行了设备身份验证,Magic Link 可能是一个选择。

需要快速简便地设置帐户的情况:基于密码的验证会减慢帐户创建速度。随着基于密码的攻击的快速增加,对更安全的密码的需求日益增长,您将需要强制最终用户创建复杂的密码。Magic Link 消除了这种需求。

Magic Link 的用户体验确实存在不足。首先,您的用户可能永远收不到 Magic Link。用户的电子邮件提供商可能会将电子邮件视为垃圾邮件,需要收到邮件的用户检查其垃圾邮件文件夹。可能需要等待一段时间才能收到链接,在这种情况下,用户只能等待而无法完成工作。

因此,虽然 Magic Link 似乎是实现无密码身份验证的简单方法,但它们既不完美也不完全安全。

Magic Link 带来安全风险

Magic Link 的设计初衷是为了使登录更快、更安全。然而,使 Magic Link 成为无密码身份验证吸引人的每一个因素都具有严重的安全影响。

有些人应该始终验证您的用户

Magic Link 是一次性的登录身份验证。用户现在被视为“受信任”,并且很可能不需要再次进行身份验证。在当今危险的环境中,这是灾难的根源。组织应应用零信任原则,这些原则要求持续的用户验证,并且不信任任何人。

当您使用设备身份验证时,不需要 Magic Link。存在执行此操作的身份验证系统,并且无需用户离开登录屏幕即可实现真正的无密码身份验证。尽管 Magic Link 是最终消除用户名和密码的重要一步,但还有其他可用选项。

无法保证收到 Magic Link 的人就是他们声称的那个人。如果用户的电子邮件帐户被盗用,黑客可能会截获 Magic Link 消息并使用它来获取访问权限。Magic Link 的工作原理是,只要收到的令牌与 Web 服务器的预期匹配。

是否存在更可靠、更安全的客户身份验证方法?

由于 Magic Link 似乎是一种无需密码即可验证用户的改进方法,因此存在一种更好的方法来实现无密码身份验证,这种方法可以真正保护您的客户,同时提供轻松的用户体验。

应将无密码验证、设备授权和基于风险的身份验证集成到一个安全的身份验证平台中。因此,我们开发了我们的客户身份验证解决方案。

我们的平台融入了“不信任,始终验证”的零信任理念。通过隐形、无密码的多因素身份验证,我们的技术在整个交互过程中持续验证用户,同时监控十几种可能表明存在问题的因素。这使您能够在不要求客户经历任何身份验证过程的情况下保护您的客户。

您只需要使用 Magic Link 验证用户两次。如果不积极监控这些用户是否存在异常行为,您将无法在为时已晚之前知道他们的设备是否感染了恶意软件。

在您的应用程序中使用 Magic Link

Magic Link 是为您的客户提供轻松用户体验的绝佳方法,同时又不危及他们的帐户安全。在您的应用程序中使用 Magic Link 进行用户身份验证是最佳选择吗?这很可能取决于应用程序的功能。如果您处理机密的商业或医疗保健数据,Magic Link 可能不是最佳选择。如果您处理娱乐和在线零售方面的客户应用程序,您可能没问题!

Magic Link 的优点和缺点

Magic Link 在客户服务、帐户安全和技术后端增强方面提供了多项优势。与此同时,Magic Link 并非没有缺点。在采用它们之前,您需要考虑各种因素。

以下是使用 Magic Link 的主要优势

  1. 1. **简单的用户界面 (UI) 和身份验证:**总的来说,Magic Link 提供了一种更简单、更快速的方法来允许访问者登录。它们还减轻了他们维护密码的责任,例如创建、安全存储和定期更新密码。
  2. 您无需维护安全的密码存储设施:如果您使用的是基于密码的身份验证方法,则您负责加密、存储和保护用户的密码。设置和维护安全处理此敏感数据所需的基础设施需要一些精力和时间。如果您选择 Magic Link 流程,则可以将这些资源转移到其他地方。
  3. 无密码泄露:如果没有用户名和密码,就没有防范泄露的措施。鉴于弱密码或被盗密码占商业数据泄露的 81%,这具有重大影响。
  4. 客户服务咨询减少:Magic Link 需要协助和改进团队付出少得多的努力。超过 50% 的支持请求与密码有关,主要是忘记密码;因此,Magic Link 可以帮助解决此问题。
  5. 5. **快速简便的入职流程:**Magic Link 允许客户在注册过程中跳过密码创建,从而使他们能够更快地完成入职体验。它们还可以通过将注册和帐户登录合并为一个活动来简化冗长的注册过程。当然,您需要在客户旅程的后期收集其他数据,但如果您将吸引新客户或注册作为首要任务,Magic Link 可能有效。
  6. 不依赖特定硬件:许多无密码系统需要使用专用硬件,包括能够接收 SMS 消息的手机或 USB 密钥或密钥扣。Magic Link 不需要额外的硬件,从而降低了进入门槛。

了解 Magic Link 的缺点

  1. 1. **电子邮件送达率受到影响:**Magic Link 在很大程度上依赖于用于发送它们的电子邮件服务;未送达的电子邮件会阻止用户登录,而延迟的电子邮件可能导致客户放弃或分心。因此,在选择电子邮件递送服务时请做出明智的决定。稍后我们将对此进行更深入的探讨。
  2. 可能导致垃圾邮件:除了及时送达方面的挑战外,Magic Link 电子邮件也可能最终进入垃圾邮件文件夹。如果您的网站用户不断被发送到垃圾邮件文件夹,那么 Magic Link 可能无济于事并引起摩擦。
  3. 电子邮件安全与密码安全相关:Magic Link 的安全性与其用户的电子邮件地址的安全性相当。如果用户收件箱被盗用,他们就可以访问依赖 Magic Link 的帐户。
  4. 管理员可见性受限:管理员无法访问除严格限制的公司网络之外的公司 Magic Link 的电子邮件地址。换句话说,管理员无法控制收件人如何使用这些链接。

提高 Magic Link 电子邮件有效性的技巧

您希望在您的产品中使用 Magic Link 进行身份验证。以下是一些技巧,可以帮助您创造出色的客户体验,同时尽量减少风险

1. 提供仅限一次性使用的链接。

允许 Magic Link 仅使用一次是保持其安全性和有效性的一种方法。将 Magic Link 配置为一次性使用可以防止授权和未经授权的传播。这在许多情况下都是一项明智的做法,尤其是在使用 Magic Link 为用户提供对敏感或机密信息的访问权限时。

2. 实现双因素身份验证 (MFA)。

我们已经讨论了 Magic Link 因依赖用户主要电子邮件地址的安全性而存在一些固有的缺陷。如果该地址被黑客入侵,黑客可以轻易地窃取单因素 Magic Link 并未经授权访问相应的服务和工具。

多因素身份验证 (MFA) 通过要求额外的确认来证明某人是谁(除了电子邮件访问之外),大大降低了这些风险。它增加了额外的保护层,以确保用户登录保持安全。即使不良行为者通过 Magic Link 获得了访问权限,除非他们还拥有用户次要身份证明(可能是短信、指纹或其他多种技术),否则这也是无济于事的。

如果您不确定从何处开始使用 MFA,WebAuthn 体系结构是一种值得探索的基于标准的替代方案。

3. 配置链接到期日期。

另一种减少与 Magic Link 相关的风险的方法是设置到期日期,这意味着链接可以在您喜欢的任意时间段内(通常选择 1 小时)保持有效,然后自动失效。

如果用户点击过期的 Magic Link,他们通常会被带到一个可以生成新链接的页面(或请求管理员重新共享内部服务(如 OneDrive)的可用性)。因此,到期日期相对流畅,同时可以防止链接被盗或共享时长期访问。

What is a Magic Link

4. 包括有意义、易于理解的主题行和“发件人”姓名。

当某人决定给自己一个加密链接时,他们通常会直接进入他们的电子邮件收件箱来查找它。如果您使用即时递送服务发送 Magic Link,您的消息将已位于收件箱的顶部。

即便如此,您也不希望客户猜测电子邮件是关于什么的或谁发送的。您希望它尽可能明确,而主题标签和“发件人”姓名是实现此目的最有效的方法之一。

5. 保持电子邮件简洁。

Magic Link 电子邮件只有一个目标:促使收件人登录生成链接的网站或平台。因此,在编写 Magic Link 电子邮件模型语言时,避免用过多的信息或冲突的号召性用语分散读者的注意力。

保持简单,类似于您的密码重置电子邮件。这不是促销或追加销售的领域。直接切入正题(原因就是 Magic Link)。

唯一的例外是,包含有关如何联系支持部门的说明,以防万一出现问题,这可能会有所帮助。只需保持此消息简单,并将其放在 Magic Link 下面。

6. 不要允许消息线程。

Gmail 和其他电子邮件程序已开始将相关通信分组到线程中。如果您的 Magic Link 被拖入线程,您的用户可能会感到困惑。他们可能会点击最初的 Magic Link(现在已被删除或过期),而不是您最近发送的那个。

Google 提供了两种避免消息线程的解决方案

为每封电子邮件使用独特的主题行;例如,您可以在电子邮件主题行中动态插入魔法链接搜索的时间戳。
在每封电子邮件中使用不同的引用头值。

选择最佳电子邮件服务发送 Magic Link

当您决定创建自己的 Magic Link 身份验证流程时,您的电子邮件发送量可能会急剧增加,并且您的电子邮件的可靠性和及时性将变得越来越重要,因此现在是时候重新考虑您用于事务性电子邮件的公司了。

在比较发送 Magic Link 的服务时,请考虑以下几点

1. 速度

Magic Link 尽快送达至关重要。我们都曾经作为账户持有人等待密码重置说明邮件送达太久,这对于我们试图与之做生意的公司来说看起来并不好!

What is a Magic Link

Postmark 致力于在 10 秒内发送关键事务性电子邮件。我们还在我们的状态页面上发布当前的送达时间数据。

2. 可靠性

同样,您需要一个具有稳定正常运行时间和可靠电子邮件送达记录的电子邮件解决方案。如果您的 Magic Link 未送达或被标记为垃圾邮件,客户会感到恼火。

您的供应商还应帮助您维护良好的发件人声誉,这样您的电子邮件就不会被阻止。例如,商标将帮助您确定独立 IP 地址还是共享 IP 地址将为您的业务提供最佳的送达率。

3. 支持您所需的指南、规范和库

在承诺使用某项服务之前,请查看文档,以确定它是否支持您喜欢的语言或框架,以便快速轻松地集成电子邮件。

您还应确保您的电子邮件服务支持您所需的身份验证过程和标准,例如 SPF。例如,Postmark 可以轻松应用 SPF,并提供有用的工具来观察 DMARC 合规性。在做出更改之前,请确保您能够获得所需的内容。

What is a Magic Link

如何在您的应用程序中实现 Magic Link 流程?

当然,如果您想创建自己的 Magic Link 流程,电子邮件只是其中一个组成部分。您还必须处理以下事项

  • 生成并保留用户独特的令牌。
  • 使用令牌创建链接,并将其包含在发送给用户的电子邮件中。
  • 您的应用程序必须能够接收 Magic Link 端点查询并验证用户。

Workos 提供了一个更详细的教程,其中包含代码示例。

根据您选择构建应用程序的框架,一部分繁重的工作可能已经完成。

例如,Rails 具备了实现 Magic Link 流程所需的一些关键组件。

  • 签名全局 ID (Signed GlobalIDs) 是与 Rails 中的对象(例如用户 ID)对应的哈希,并且只有您的应用程序才能将其链接回用户。这就是您的令牌!
  • 在 Rails 中也可以轻松管理到期时间。签名全局 ID 已经有一个到期日期。默认情况下,设置为一个月;如果您将它们用作 Magic Link 身份验证,您可能需要更改此设置。

您想为身份验证实现 Magic Link 流程,但不想从头开始构建吗?

我们有一个解决方案!

Magic 开发了一个即插即用 SDK,支持各种无密码登录技术,包括 SMS、MFA、WebAuthn 等。只需几行脚本即可开始,而且完全免费!

Magic 与 Svelte 和 Next.js 等框架以及 Webflow 和 WordPress 等低代码平台兼容。

此外,如果您想创建与以太坊、Solana 和 18 多个其他快速增长的平台通信的去中心化应用程序,Magic 的多链兼容性将为您服务。

使用 Magic Link 身份验证,您可以让您的用户生活更轻松。

在此,为寻求更高级别安全性和身份管理的组织提供几项关键功能,其中一项是无密码身份验证。Magic Link 可与强大的身份管理、身份合规性验证和其他身份验证功能结合使用,集成在 BlockID 系统中。

您将从 BlockID 中获得以下好处

基于身份的身份验证:我们将生物识别技术和身份验证融合到一个新的“你是谁”范例中。通过凭证三角测量和身份验证,BlockID 识别的是个人而不是机器。

云原生架构:我们的云架构灵活且可扩展,使用我们传统的 API 和 SDK 构建应用程序非常简单。

身份验证:BlockID 可在任何时间、任何地点、任何设备上以超过百分之九十的准确率验证身份。

隐私设计:1Kosmos 的基本原则之一是在我们的生态系统构建中融入保密性。在分布式身份架构中,我们保护个人身份信息,受保护的数据仅限于用户使用。

它是一个私有且授权的区块链,可以保护个人身份信息,加密在线身份,并且只能由用户访问。分布式特性确保没有易受攻击的数据库或黑客可以利用的蜜罐。

互操作性:凭借其 50 多个开箱即用的连接或通过 API/SDK,BlockID 可以轻松地与当前的基础设施集成。

SIM 绑定:SMS 验证、身份编辑和手机身份验证都被 BlockID 程序使用,以构建稳定、强大且安全的连接。

使用 Magic Link 的挑战是什么?

虽然 Magic Link 比密码提供了更好的安全性,但它们也存在一些安全缺陷,需要解决。

用户电子邮件帐户与安全性相关。这引入了新的安全威胁。Magic 电子邮件可以通过邮件服务器不安全地发送,并且可能会被用户电子邮件提供商的员工看到。无人值守的设备也可以轻松访问用户收件箱。用户必须通过多因素身份验证来保护他们的电子邮件地址,以确保 Magic 电子邮件的绝对安全。

链接共享完全由管理员无法控制。糟糕的安全行为,如弱密码,会暴露漏洞。没有机制供管理员查看或限制用户与其他用户共享机密链接。

可能发生中间人攻击。如果用户没有通过加密网络访问他们的电子邮件,黑客就可以拦截不安全的连接并获取 Magic Link 中的会话令牌。

结论

Magic Link 可能不是最可靠的登录方式,但它们无疑是用户访问其帐户的简单方式。在当今快节奏的世界中,必须极其谨慎地进行任何类型的验证,而无密码系统 Magic Link 是理想的选择。