Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 以电话作为用户名和验证的环回登录_Email_Login_Loopbackjs_Phone Number - Fatal编程技术网

Email 以电话作为用户名和验证的环回登录

Email 以电话作为用户名和验证的环回登录,email,login,loopbackjs,phone-number,Email,Login,Loopbackjs,Phone Number,我在我的环回应用程序中扩展了用户模型,并添加了电话号码作为登录方法,我使用用户名字段来实现这一点,唯一的交易是登录时出现“电子邮件未验证”错误,我有自己的电话号码字段,并已覆盖confirm方法,以根据emailVerificationToken和PhoneNumberificationToken验证令牌,并更新相应的标志,我想重写原始的登录方法,仅当emailVerified和phoneNumberVerified字段都为假(不仅仅是电子邮件)时才允许登录,但我不知道如何像loopback那样

我在我的环回应用程序中扩展了用户模型,并添加了电话号码作为登录方法,我使用
用户名
字段来实现这一点,唯一的交易是登录时出现“电子邮件未验证”错误,我有自己的
电话号码
字段,并已覆盖
confirm
方法,以根据
emailVerificationToken
PhoneNumberificationToken
验证令牌,并更新相应的标志,我想重写原始的登录方法,仅当
emailVerified
phoneNumberVerified
字段都为假(不仅仅是电子邮件)时才允许登录,但我不知道如何像loopback那样实际登录(我相信它创建了
AccessToken
或其他东西),我正在寻求一些关于如何做到这一点的帮助,谢谢XD。我可以自己进行覆盖和验证我只需要知道如何在不使用原始的
登录方法的情况下进行实际登录,因为我将重写它。

所以我发现登录时根本不需要验证电子邮件或电话号码(稍后将需要工作流,但这将是另一个用例,因此现在登录到我XD时与此无关)。因此,当我研究如何覆盖
login
方法时,我意识到所有模型代码都位于node_modules文件夹XD上

node_modules/loopback/common/models/user.js

login
方法中发现了一个标志,用于验证是否应检查电子邮件是否已验证,因此在我的启动脚本中,我只添加了以下内容:

app.models.MyUser.settings.emailVerificationRequired = false;
这将在登录时停止电子邮件验证

如果你们中的一些人想覆盖
login
方法,我相信从原始用户模型复制整个方法并将其附加到您的模型并进行一些修改可能会起作用xD,它会从用户模型(自身)调用
createAccessToken
这就是我认为创建“登录”的原因,我开始理解的是,没有“会话”数据,当您成功登录时,它会创建一个accesstoken,正如我所做的那样,只需将令牌id发送到每个请求,即可“验证”您登录的用户

谢谢你的阅读,祝你度过愉快的一天:)