如何解决如何验证是否使用签名版本4
来自Amazon AWS的电子邮件指出:
从2020年10月1日开始,Amazon SES仅支持请求 使用签名版本4签名。
您可以通过以下方式轻松识别使用签名版本3的API请求: 查看请求标头。使用签名的请求 版本3与以下示例类似:X-Amzn-Authorization: AWS3-HTTPS AWSAccessKeyId = AKIAIOSFODNN7EXAMPLE,算法= HMACSHA256,签名= lBP67vCvGl ...
我已经通过composer安装了“ aws / aws-sdk-PHP”。
我试图找出SES的请求标头是签名版本3还是4。
我尝试通过Illuminate\Mail\Events\MessageSent
对象$event->message->getHeader()
转储Swift_Mime_SimpleHeaderSet
的内容。
但是它不包括SES sdk的请求版本。
问题:
有人可以告诉我如何转储传出的aws ses sdk请求,以便我可以在标头中看到所使用的版本。
谢谢。
解决方法
如果有人感兴趣,最后可以通过追溯堆栈来做到这一点。
通过命令发送邮件后,我回溯了堆栈并可以看到包含Authorization: AWS4-HMAC-SHA25
的原始请求,确认了签名版本4。
Mail::to($receiver)->send($mailable);
dump(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS,50));
确保已将ses service调试设置为true:config/services.php
'ses' => [
'key' => env('SES_KEY'),'secret' => env('SES_SECRET'),'region' => 'us-west-1','debug' => true,],
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。