使用 Auth0 在节点中进行无密码身份验证

Passwordless Authentication in Node using Auth0

美好的一天!我正在尝试使用 auth0 节点包实现无密码登录。基本上,我试图通过电子邮件发送魔法 link 而无需在浏览器中获取电子邮件值,所以我从 API.

收到电子邮件

注意:从其他API拉取的邮箱已经在Auth0

注册了

问题是当我在我的收件箱中收到 link 并点击它时,我得到了选择加入,我应该允许应用程序访问配置文件,这不是我的路径'预计会看到。所以这是我的代码:

const AuthenticationClient = require('auth0').AuthenticationClient

app.get('/sendmagiclink', function(req, res) {
    let auth0 = new AuthenticationClient({
        domain: [Auth0 Domain],
        clientId: [Auth0 Client ID],
        clientSecret: [Auth0 Client Secret]  
    })

    var data = {
        email: 'myemail@gmail.com',
        send: 'link',
        authParams: {
            connection: [My Connection]
        } // Optional auth params.
      };

      auth0.passwordless.sendEmail(data, function (err) {
        if (err) {
          // Handle error.
        }
      });
})

此外,我的代码的另一个问题是自动设置为电子邮件的连接名称,而不是我创建的自定义连接名称。

非常感谢您的想法。

我假设您在此处看到同意屏幕。您使用的是 localhost URL 吗?在这种情况下,不可能跳过它,但当您的应用程序处于生产状态时,或者如果您在 /etc/hosts 文件中设置域,它不会出现。更多信息在这里:https://auth0.com/docs/api-auth/user-consent#skipping-consent-for-first-party-clients

无密码电子邮件连接的名称通常是 email