kernel update
This commit is contained in:
54
kernel/modules/secure/services/SecureService.php
Normal file
54
kernel/modules/secure/services/SecureService.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace kernel\modules\secure\services;
|
||||
|
||||
use kernel\App;
|
||||
use kernel\FormModel;
|
||||
use kernel\helpers\Debug;
|
||||
use kernel\modules\secure\models\SecretCode;
|
||||
use kernel\modules\user\models\User;
|
||||
use kernel\modules\user\service\UserService;
|
||||
use kernel\services\TokenService;
|
||||
|
||||
class SecureService
|
||||
{
|
||||
|
||||
public static function createSecretCode(User $user): void
|
||||
{
|
||||
$secretCode = new SecretCode();
|
||||
$secretCode->user_id = $user->id;
|
||||
$secretCode->code = mt_rand(100000, 999999);
|
||||
$secretCode->code_expires_at = date("Y-m-d H:i:s", strtotime("+5 minutes"));;
|
||||
$secretCode->save();
|
||||
}
|
||||
|
||||
public static function updateSecretCode(User $user): void
|
||||
{
|
||||
$secretCode = SecretCode::where('user_id', $user->id)->first();
|
||||
$secretCode->code = mt_rand(100000, 999999);
|
||||
$secretCode->code_expires_at = date("Y-m-d H:i:s", strtotime("+5 minutes"));;
|
||||
$secretCode->save();
|
||||
}
|
||||
|
||||
public static function getCodeByUserId(int $user_id)
|
||||
{
|
||||
return SecretCode::where('user_id', $user_id)->one()->code;
|
||||
}
|
||||
|
||||
public static function getByField(string $field, mixed $value)
|
||||
{
|
||||
return SecretCode::where($field, $value)->first();
|
||||
}
|
||||
|
||||
public static function generateAccessToken(): string
|
||||
{
|
||||
return match (App::$secure['token_type']) {
|
||||
"JWT" => TokenService::JWT($_ENV['SECRET_KEY'], 'HS256'),
|
||||
"md5" => TokenService::md5(),
|
||||
"crypt" => TokenService::crypt(),
|
||||
"hash" => TokenService::hash('sha256'),
|
||||
default => TokenService::random_bytes(20),
|
||||
};
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user