我目前正在开发API . 我正在使用Strongloop(Loopback) .
我正在尝试实施用户注册时的电子邮件验证 . 我有一个“用户”模型,它扩展了内置的“用户”模型 .
现在,当用户注册(POST / users)时,会发送一封电子邮件,其中包含指向/ users / confirm的链接,其中包含三个适当的参数,即uid,重定向和令牌 . 当用户点击链接时,后者的电子邮件地址被正确验证(email验证字段变为true) .
但是,我注意到在/ users上发出POST请求时,响应包含验证令牌 . 这是正常的吗?是否只能通过发送的电子邮件访问验证令牌?
因为实际上,通过在/ users上发出POST请求并在响应中获取验证令牌,可以轻松地向用户发送另一个请求/使用适当的参数(包括验证令牌)进行确认,并验证电子邮件地址,即使地址不存在 .
我是Strongloop的新手,也许我错过了一些东西 . 你们能帮忙吗?
3 回答
我刚刚完成了这个例子 . 看到:
https://github.com/strongloop/loopback-faq-user-management
如果你想创建用户注册验证链接但不使用内置用户现代,那么你需要创建验证令牌然后发送link.i已经添加了两个方法 . 你需要使用远程方法与一个参数谁是对象type:你需要用寄存器email发送参数 . 方法是这样的....这里我们使用user = any变量名,modelN =模型名
我添加了另一个模型模型方法然后添加这个,....
@ user2483431,验证电子邮件会将响应中的电子邮件验证令牌与用户ID一起公开 . 正如您所指出的那样,它可能会欺骗系统 . 一种解决方案是从响应中剥离令牌值 .
在afterRemote for user create中,你可以使用,
希望这可以帮助!