【问题标题】:How to generate tokens for mail verify or forgot password without FusionAuth sending mail?如何在没有 FusionAuth 发送邮件的情况下生成邮件验证或忘记密码的令牌?
【发布时间】:2020-04-16 14:32:56
【问题描述】:

直到昨天,我还在使用默认的邮件发送机制,比如“验证邮件”或“忘记密码邮件”。这些邮件在邮件中包含特殊标记。这两个端点还在响应正文中返回令牌。 我现在正在更改在我的应用程序中发送邮件的方式,并且我想使用单独的服务来做到这一点。因此,要激活我的用户或更改他们的密码,我需要这些令牌,但我不希望 FusionAuth 发送电子邮件。当禁用“验证邮件”或“忘记密码”时,调用这些端点会导致 403。有没有办法在不启动通过 FusionAuth 发送邮件的过程的情况下获取此令牌? 解决方法是在邮件配置中添加一个假主机。但这不是最好的主意,因为我在生成令牌时看到日志中的错误。

【问题讨论】:

    标签: fusionauth


    【解决方案1】:

    您可以使用/api/user/forgot-password API 并将sendForgotPasswordEmail 设置为false

    Forgot Password API 是第二个例子:

    使用 API 密钥启动忘记密码工作流

    这将为您创建一个令牌,并且不会发送电子邮件。然后,您可以自己构建链接并通过外部服务发送电子邮件。

    【讨论】:

    • 我了解了如何使用忘记密码流程进行操作,但我没有使用验证过程。可以帮忙吗?注册新用户时,将 skipVerification 设置为 true,允许用户在注册后立即登录。但是什么时候设置为 fase,我总是发送的电子邮件。我尝试在用户注册中手动将verifiedactive 设置为false,但没有成功。
    • 电子邮件验证的工作方式类似。您可以在验证电子邮件 API 上调用[PUT] 以生成注释代码并将sendVerifyEmail 设置为falsefusionauth.io/docs/v1/tech/apis/users#resend-verification-email 未经验证的用户仍然可以登录,如果您想在验证之前限制权限,您可以通过查看使用或注册时的 verified 属性来实现。
    • 好吧,这个问题有点奇怪。首次启动 FusionAuth 并对其进行配置时,未在电子邮件设置中进行任何设置(已禁用),获取用于验证邮件的令牌的调用未启动(状态 200,verificationId = null)。然后我用随机值配置电子邮件设置,并启用验证电子邮件,然后全部保存,然后再次禁用所有电子邮件设置。然后这些调用返回所需的令牌。 FusionAuth 1.3.1版
    猜你喜欢
    • 2020-09-23
    • 2011-02-19
    • 1970-01-01
    • 2016-08-31
    • 2013-06-13
    • 1970-01-01
    • 2012-02-13
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多