Php 使用Laravel passport处理加密用户名/电子邮件
我使用现有的客户端应用程序,用户名/电子邮件在数据库中加密。我需要做一个api的外部应用程序/网站与拉维passeport 应用程序/网站将调用,他们将发送参数Php 使用Laravel passport处理加密用户名/电子邮件,php,laravel,encryption,laravel-passport,Php,Laravel,Encryption,Laravel Passport,我使用现有的客户端应用程序,用户名/电子邮件在数据库中加密。我需要做一个api的外部应用程序/网站与拉维passeport 应用程序/网站将调用,他们将发送参数客户id,客户机密,用户名和密码。我的问题在于用户名参数,因为用户名在我的应用程序中是加密的。如何使用laravel passeport加密他们的清晰(未加密)用户名?如果您查看一下,会注意到它在您的模型中查找“findForPassport”方法的存在 在数据库中选择用户之前,只需在用户模型中定义方法并应用解码算法: <?php
客户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();
}
嗯,也许可以,但我的用户名在数据库中是加密的。我需要加密用户名,然后检查它在数据库中是否匹配,但加密总是生成不同的字符串。。。