Расшифровка кода авторизации вручную выдает ошибку defuse crypto - PullRequest
0 голосов
/ 17 февраля 2020

Я использую laravel 6.0 и паспорт 8.0. Я слушаю, чтобы был создан токен доступа, и пытаюсь вручную расшифровать код авторизации, например:

try {
    $authCodeRaw = request()->input('code');
    $authCode = Crypto::decrypt($authCodeRaw, app('encrypter')->getKey());
} catch (EnvironmentIsBrokenException $e) {

} catch (WrongKeyOrModifiedCiphertextException $e) {

}

Я получаю эту ошибку:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError: ключ, ожидаемый для аргумента 2. Вместо него указана строка. в файле / var / www/html/vendor/defuse/php-encryption/src/Crypto.php в строке 103

1 Ответ

0 голосов
/ 17 февраля 2020

Ожидается объект Key, но вы предоставили строку, как предложено @ misorude.

app('encrypter')->getKey(), кажется, возвращает строку, следовательно, вы можете создать Ключевой объект с этим:

$key = \Defuse\Crypto\Key::loadFromAsciiSafeString(
    app('encrypter')->getKey()
);

Теперь вы можете передать $key методу дешифрования следующим образом:

$authCode = Crypto::decrypt($authCodeRaw, $key));

Надеюсь, он вам помог!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...