我如何使用AWS SNS配置基本身份验证?
据我所知,您无法在SNS消息中通过身份验证。他们表明您可以通过用户的UserInfo来传递基本验证,例如:
http://username:[email protected]
但是,当我尝试这样做时,APIM日志中没有标题。当您手动达到端点时,您确实可以看到有授权标题。
对于不再是一个选项,我相信前进的唯一途径是进行IP地址限制,然后使用可以从SigningCerturl下载的证书验证消息中的签名。您可以构建手动库,但真正使用为SNS提供的折衷的V1库AWS效果很好。 <dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-sns</artifactId>
<version>1.12.782</version>
</dependency>
这个是Maven库。如果您的输入是字符串SNS消息,则可以执行类似的操作:
如果您想手动进行操作,则此链接具有您需要的许多步骤。
Https://docs.aws.amazon.com/sns/latest/dg/sns-verify-signature-signature-of-message-message-verify-message-signature.html但是请注意,他们说的话有一个错误。在您要验证的字符串末尾添加一个newline。它说不是,但这是100%错误的。我浪费了很多时间来解决这个问题。