полезная нагрузка недопустима для расшифровки laravel_session - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь расшифровать laravel_session, но возникает следующая ошибка:

An error has occurred: The payload is invalid.

просто я использую Rachet и пытаюсь вызвать авторизованного пользователя, поэтому я получил куки в httpRequest, используяследующее:

    public function onOpen(ConnectionInterface $conn) {

        $this->clients[$conn->resourceId] = new Client();
        $this->clients[$conn->resourceId]->conn = $conn;


        $cookiesRaw = $conn->httpRequest->getHeader('Cookie');

        $cookies = [];
        if(count($cookiesRaw))
        {
            $cookies = \GuzzleHttp\Psr7\parse_header($cookiesRaw)[0]; // Array of cookies
        }

 // Get the laravel's one
        $laravelCookie = $cookies[Config::get('session.cookie')];

$idSession = Crypt::decrypt($laravelCookie);
        echo "\n cookie is ";
        print_r($idSession);

}

Crypt::decrypt($laravelCookie); вызывает ошибку, я пытался использовать:

    $cookie_contents = json_decode( base64_decode( $laravelCookie, true ));
    $value = base64_decode( $cookie_contents->value );
    $iv = base64_decode( $cookie_contents->iv );
    $clear = unserialize( \openssl_decrypt($value, \Config::get( 'app.cipher' ), \Config::get( 'app.key' ), OPENSSL_RAW_DATA, $iv));
    echo "Cookie contents (Session ID): $value\n";

, но также вызывает полезную нагрузку неверна.

Как мне расшифровать эту laravel_session, чтобы получить идентификатор сеанса пользователя!

Я хочу получить аутентификационного пользователя через этот сеанс.

Я много искал в переполнении стекаи Google, но все случаи не совпадали с моими.

Примечание: я использую SESSION_DRIVER = file

1 Ответ

0 голосов
/ 20 ноября 2018

Laravel позволяет получить идентификатор вашей сессии:

use Illuminate\Support\Facades\Session;

$sessionid = Session::getId();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...