Проблема с шифрованием/дешифрованием Laravel

Я храню учетные данные пользователей для стороннего сервиса в своей базе данных. При сохранении они преобразуются вencryptedкак показано ниже:

      protected $casts = [
    'enabled' => 'boolean',
    'token_is_valid' => 'boolean',
    'service_username' => 'encrypted',
    'service_password' => 'encrypted',
    'service_practice_pin' => 'encrypted',,
];

Затем мне нужно использовать данные для аутентификации в сторонней службе.

Я могу вернуть полную модель из моей базы данных:dd($integration), однако, если я попытаюсь получить доступ к свойствуdd($integration->service_username)Я получаю следующую ошибку:

      The payload is invalid. {"userId":12,"exception":"[object] (Illuminate\\Contracts\\Encryption\\DecryptException(code: 0): The payload is invalid. at /var/www/app/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php:221)
[stacktrace]

Сторонняя служба, которую я использую, требует аутентификации расшифрованных значений.

Я попытался добавить аксессор к модели, но все равно получаю ту же ошибку.

      public function getDecryptedServiceUsernameAttribute()
{
    return decrypt($this->attributes['service_username']);
}

Как я могу получить/отправить расшифрованное значение? Нужно ли хранить по-другому? текущий тип столбцаvarchar(191)

0 ответов

Другие вопросы по тегам