generated from mirzaev/pot
большая разработка аутентификации
This commit is contained in:
74
mirzaev/site/account/system/\
Normal file
74
mirzaev/site/account/system/\
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace mirzaev\site\account\controllers;
|
||||
|
||||
// Файлы проекта
|
||||
use mirzaev\site\account\controllers\core,
|
||||
mirzaev\site\account\models\generators\password,
|
||||
mirzaev\site\account\models\invite;
|
||||
|
||||
/**
|
||||
* Контроллер API
|
||||
*
|
||||
* @package mirzaev\site\account\controllers
|
||||
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
||||
*/
|
||||
final class api extends core
|
||||
{
|
||||
/**
|
||||
* Проверить существование
|
||||
*
|
||||
* @param array $parameters Параметры запроса
|
||||
*
|
||||
* @return string JSON с параметром exist
|
||||
*/
|
||||
public function invite_verify(array $parameters = []): string
|
||||
{
|
||||
// Инициализация буфера ответа
|
||||
$return = ['errors' => &$this->errors];
|
||||
|
||||
// Запрос проверки на существование приглашения
|
||||
$invite = invite::read($parameters['key'], $this->errors['account']);
|
||||
|
||||
$return['exist'] = isset($invite);
|
||||
|
||||
if ($parameters['from'] == 1) $return['from'] = ['login' => 'mirzaev'] ?? $invite->from();
|
||||
|
||||
// Запись заголовка ответа
|
||||
header('Content-Type: application/json');
|
||||
|
||||
return json_encode($return);
|
||||
}
|
||||
|
||||
/**
|
||||
* Сгенерировать классический пароль
|
||||
*
|
||||
* @param array $parameters Параметры запроса
|
||||
*
|
||||
* @return string JSON с параметром password
|
||||
*/
|
||||
public function password_classic(array $parameters = []): string
|
||||
{
|
||||
// Запись заголовка ответа
|
||||
header('Content-Type: application/json');
|
||||
|
||||
return json_encode(['password' => password::classic((int) $parameters['length'], $this->errors), 'errors' => $this->errors]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Сгенерировать мнемонический пароль
|
||||
*
|
||||
* @param array $parameters Параметры запроса
|
||||
*
|
||||
* @return string JSON с параметром password
|
||||
*/
|
||||
public function password_mnemonic(array $parameters = []): string
|
||||
{
|
||||
// Запись заголовка ответа
|
||||
header('Content-Type: application/json');
|
||||
|
||||
return json_encode(['password' => password::mnemonic((int) $parameters['length'], $this->errors), 'errors' => $this->errors]);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user