laravel - Laravel 中使用手机号码和 OTP 进行用户身份验证

标签 laravel laravel-5 laravel-5.5

如何允许用户使用手机号码和 OTP 登录我们的 Laravel 应用程序

最佳答案

我通过以下方法实现了它, 在 Laravel 5.7 和 Passport 上:

文件路径:/app/Http/Controllers/AuthController.php

编辑:

$credentials = request(['mobile_no', 'password', 'email', 'otp']);

文件路径:/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php

编辑:

public function validateCredentials(UserContract $user, array $credentials)
{
    if (isset($credentials['password'])) {
      $plain = $credentials['password'];
      return $this->hasher->check($plain, $user->getAuthPassword());
    }else{
      $otp = $credentials['otp'];
      if ($otp==$user->getAuthOtp()) {
        return true;
      }
    }
}

文件路径:/vendor/laravel/framework/src/Illuminate/Auth/Authenticatable.php

添加:

public function getAuthOtp()
    {
        return $this->otp;
    }

注意:使用此用户还可以使用 OTP 和密码登录,当我找到合适的解决方案时,我会更新我的答案。

关于laravel - Laravel 中使用手机号码和 OTP 进行用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219708/

相关文章:

apache - 重定向 301 htaccess 仅适用于斜线 Laravel

laravel - 全局过滤——如何在 Laravel Eloquent 中使用全局作用域

php - 我怎样才能在 Laravel 5.3 中得到 guzzle 6 的响应?

php - laravel 加入仅限制 2 行

php - 使用 Laravel 从数据库加载数据

ajax - 使用mongodb在保存()之后获取laravel中最后插入的文档的ID

laravel - 每次加载页面时在 Laravel 中运行命令

PostgreSQL、WAMP、Laravel 5.5 - "php artisan migrate"抛出 "driver not found"异常

php - 使用 laravel eloquent 将左连接中的 null 值替换为 N/A

laravel - 如何从laravel中的最新日期检索数据?