概要
DBにデータを暗号化して保存しています。
このデータを呼び出し、ControllerからJSONとして返却したいと考えていますが、
The payload is invalid
というエラーが返されます。
これを解決したいです。
環境
- Laravel6系
- PHP7.4系
詳細
DBにデータを暗号化して保存しております。
データをCollection型で取得し、それをそのままViewに渡して、オブジェクトとしてアクセスする分には正常に動作します。
// コレクション型で全部取得されると思ってください $secretDatabase = SecretDatabase::all(); foreach ($secretDatabase as $item) { dump($item->secret_data); // 正常にdecryptされる }
しかし、以下のようにControllerでJSONとして取得しようとするとThe payload is invalid
というエラーがThrowされます。
(exception "Illuminate\Contracts\Encryption\DecryptException"
)
// コレクション型で全部取得されると思ってください $secretDatabase = SecretDatabase::all(); $jsonResp = json_encode($secretDatabase); // ここで The payload is invalid が投げられる
もちろんLaravelの関数を利用しても同様のエラーになります。
// コレクション型で全部取得されると思ってください $secretDatabase = SecretDatabase::all(); return response()->json([$secretDatabase]);
こちらの解決方法を知りたいと思っております。
ご存じの方がいらっしゃいましたら、ご教示いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー