Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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
Php 使用Laravel passport处理加密用户名/电子邮件_Php_Laravel_Encryption_Laravel Passport - Fatal编程技术网

Php 使用Laravel passport处理加密用户名/电子邮件

Php 使用Laravel passport处理加密用户名/电子邮件,php,laravel,encryption,laravel-passport,Php,Laravel,Encryption,Laravel Passport,我使用现有的客户端应用程序,用户名/电子邮件在数据库中加密。我需要做一个api的外部应用程序/网站与拉维passeport 应用程序/网站将调用,他们将发送参数客户id,客户机密,用户名和密码。我的问题在于用户名参数,因为用户名在我的应用程序中是加密的。如何使用laravel passeport加密他们的清晰(未加密)用户名?如果您查看一下,会注意到它在您的模型中查找“findForPassport”方法的存在 在数据库中选择用户之前,只需在用户模型中定义方法并应用解码算法: <?php

我使用现有的客户端应用程序,用户名/电子邮件在数据库中加密。我需要做一个api的外部应用程序/网站与拉维passeport

应用程序/网站将调用,他们将发送参数
客户id
客户机密
用户名
密码
。我的问题在于
用户名
参数,因为用户名在我的应用程序中是加密的。如何使用laravel passeport加密他们的清晰(未加密)用户名?

如果您查看一下,会注意到它在您的模型中查找“findForPassport”方法的存在

在数据库中选择用户之前,只需在
用户
模型中定义方法并应用解码算法:

<?php

namespace App;

use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use HasApiTokens, Notifiable, SoftDeletes;

    /**
     *
     * @param  string  $username
     * @return null|App\User
     */
    public function findForPassport($username)
    {
        $decoded = my_decode_function($username);

        return $this->where('username', $decoded)
            ->first();
    }

嗯,也许可以,但我的用户名在数据库中是加密的。我需要加密用户名,然后检查它在数据库中是否匹配,但加密总是生成不同的字符串。。。