Exemplo n.º 1
0
function user_session_create_token($userId, $secretSource = null)
{
    lets_use('core_config', 'storage_nosql');
    if (!$secretSource) {
        $secretSource = md5(microtime(1) . mt_rand(1, 99999999) . microtime(1));
    }
    $secret = user_session_build_secret($secretSource);
    $setResult = user_session_set_secret($userId, $secret);
    if (!$setResult) {
        return false;
    }
    return user_session_build_token($userId, $secret);
}
Exemplo n.º 2
0
function web_controller_auth_register()
{
    if (web_router_get_method() !== 'POST') {
        web_router_render_page('auth', 'register', []);
        return;
    }
    $email = web_router_get_param('email');
    if (!$email) {
        web_router_render_page('auth', 'register', ['msg' => 'Введите email', 'wrong' => 'email']);
        return;
    }
    preg_match('/[\\w\\d]+@[\\w\\d]+[\\w\\d\\.]+/', $email, $matches);
    if (!isset($matches[0])) {
        web_router_render_page('auth', 'register', ['msg' => 'Введите корректный email', 'wrong' => 'email']);
        return;
    }
    lets_use('user_register');
    $authUserId = user_register_get_user_id_by_email($email);
    if ($authUserId) {
        web_router_render_page('auth', 'register', ['msg' => 'Пользователь с таким email уже существует', 'wrong' => 'email']);
        return;
    }
    $userName = web_router_get_param('name');
    if (!$userName) {
        web_router_render_page('auth', 'register', ['msg' => 'Введите ваше имя', 'wrong' => 'name']);
        return;
    }
    $pass = web_router_get_param('pass');
    if (!$pass || mb_strlen($pass) < 6) {
        web_router_render_page('auth', 'register', ['msg' => 'Пароль должен быть задан и не менее 6ти символов', 'wrong' => 'pass']);
        return;
    }
    $userId = user_register_new_user($userName, $email, $pass);
    if (!$userId) {
        web_router_render_page('auth', 'register', ['msg' => 'Ошибка при сохранении пользвателя, повторите позднее', 'wrong' => 'error']);
        return;
    }
    lets_use('user_session');
    $secret = user_session_get_secret($userId);
    $token = user_session_build_token($userId, $secret);
    user_session_write_session_cookie($userId, $token, 86400 * 30);
    web_router_redirect('/');
}