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

时间:2018-04-17 15:23:12

标签: node.js api auth0

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

注意:已从其他API中提取的电子邮件已在Auth0中注册

问题是,当我收到收件箱中的链接并单击它时,我收到了选择,我应该允许应用程序访问配置文件,这不是我期望看到的路径。所以这是我的代码:

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.
        }
      });
})

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

非常感谢您的想法。

1 个答案:

答案 0 :(得分:1)

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

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