Example #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);
}
Example #2
0
function web_controller_auth_auth()
{
    $email = web_router_get_param('email');
    $pass = web_router_get_param('pass');
    if (web_router_get_method() === 'POST') {
        lets_use('user_register');
        $userId = user_register_get_user_id_by_email($email);
        if ($userId) {
            lets_use('user_session');
            core_log('user found: ' . $userId);
            $realSecret = user_session_get_secret($userId);
            $checkSecret = user_session_build_secret($pass);
            if ($realSecret === $checkSecret) {
                $token = user_session_build_token($userId, $checkSecret);
                user_session_write_session_cookie($userId, $token, 86400 * 30);
                web_response_redirect('/');
                return;
            }
        }
        web_router_render_page('auth', 'auth', ['msg' => 'Для данного адреса почты и пароля не найдено ни одного пользователя.']);
        return;
    }
    web_router_render_page('auth', 'auth');
}