简体   繁体   English

如何仅在 Laravel 中使用 url 和 hash 参数登录? (没有用户名和密码)

[英]How to login with url and hash parameter only in Laravel? (without username and password)

I want to send users link with their own hashes to login without inputing form, I already tried it but it's too slow so I'm not sure if it even works:我想在不输入表单的情况下向用户发送带有自己哈希值的链接以登录,我已经尝试过了,但是速度太慢了,所以我不确定它是否有效:

web.php web.php

Route::get('link/{hash}', 'Auth\LoginController@loginless')->where('hash', '(.*)');

LoginController.php登录控制器.php

public function loginless($hash)
{
    $response           = array();
    $response['status'] = 500;
    $response['url']    = null;
    
    $username = '';
    $password = '';
    $arr_username = User::select('username','password')->get();
    
    foreach ($arr_username as $arr){
        if (Hash::check($arr->username, $hash)){
            $username = $arr->username;
            $password = $arr->password;
            break;
        }
    }

    if (\Auth::attempt(['username' => $username, 'password' => $password])) {
        $response['status'] = 200;
        $response['url']    = route('dashboard');
    }

    return $response;
}

Any way to make it more efficient?有什么办法让它更有效率吗? (is it possible without foreach?) (没有foreach有可能吗?)

In your case, you can use encryption with key, check this在你的情况下,你可以使用密钥加密, 检查这个

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Laravel Passport:仅使用没有密码的用户名登录 - Laravel Passport: login using only username without password 如何仅使用用户名和密码在 laravel 中验证登录? - how to authenticate login in laravel using only username and password? CakePHP登录,不使用密码,仅用户名 - CakePHP login without use of password, ONLY username laravel 4:如何在没有用户名和密码的情况下登录用户 - laravel 4: How to log a user in without username and password 仅使用电话号码登录,无需密码 - Laravel - Login only with phone number without password - Laravel Phpass-如何根据数据库中的用户名和密码哈希检查登录用户名和密码 - Phpass - how to check login username and password against username and password hash in database 如何处理laravel登录错误,用户名与密码不同 - how to handle laravel login errors, username different from password 如何使用预定义的电子邮件/用户名和密码登录Laravel? - How Can I Login In Laravel With Predefined Email/Username and Password? 如何使用自定义登录表单比较 Laravel 的哈希密码? - How to compare Laravel's hash password using a custom login form? Laravel Auth按公司名称,用户名和密码登录 - Laravel Auth Login by company name, username, and password
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM