【发布时间】:2019-11-03 02:19:56
【问题描述】:
我正在为我的 Android 应用程序使用 Strapi,我需要通过他们的电话号码登录用户。有许多身份验证提供商,例如电子邮件和密码、谷歌、Facebook 等。但我找不到任何有关添加电话号码身份验证的文档。请帮忙。
【问题讨论】:
-
我需要询问一些与我的类似查询相关的额外问题。我可以提供你的电子邮件 ID 吗?谢谢
标签: authentication strapi
我正在为我的 Android 应用程序使用 Strapi,我需要通过他们的电话号码登录用户。有许多身份验证提供商,例如电子邮件和密码、谷歌、Facebook 等。但我找不到任何有关添加电话号码身份验证的文档。请帮忙。
【问题讨论】:
标签: authentication strapi
这是可以做到的。
您将不得不使用自定义概念来自定义users-permissions插件的callback函数。
首先,您应该在User 模型中定义phone_number 字段。
然后,您应该通过在const query = { provider }; 下添加query.phone_number = params.identifier; 来覆盖extensions/users-permissions/controllers/Auth.js
const query = { provider };
// Check if the provided identifier is an email or not.
const isEmail = emailRegExp.test(params.identifier);
// Set the identifier to the appropriate query field.
if (isEmail) {
query.email = params.identifier.toLowerCase();
} else {
query.phone_number = params.identifier;
}
在这个例子中,我们告诉 Strapi 我们可以通过输入电子邮件或电话号码来登录。
如果您只想使用电话号码登录,则可以删除 if 条件并只写 query.phone_number = params.identifier;。
【讨论】: