Strapi 中的电话号码身份验证

Tav*_*ngh 5 authentication strapi

我正在将 Strapi 用于我的 android 应用程序,我需要通过他们的电话号码登录用户。有许多身份验证提供商,如电子邮件和密码、谷歌、Facebook 等。但我找不到任何有关添加电话号码身份验证的文档。请帮忙。

Gha*_*135 6

这是可以做到的。您必须使用定制概念来定制插件callback的功能users-permissions

首先,您应该在模型内定义phone_number字段User

然后,你应该extensions/users-permissions/controllers/Auth.js通过添加query.phone_number = params.identifier; 覆盖const query = { provider };

 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;  
      }
Run Code Online (Sandbox Code Playgroud)

在此示例中,我们告诉 Strapi 我们可以通过输入电子邮件或电话号码进行登录,两者均被接受。

query.phone_number = params.identifier;如果您只想使用电话号码登录,您可以删除 if 条件并只写。