Twilio SMS StatusCallback URL的身份验证处理方式

时间:2019-04-05 07:31:01

标签: twilio webhooks apex twilio-api

我已经开始使用Twilio可编程SMS API通过Twilio发送消息。

众所周知,消息状态可以为queuedfailedsentdeliveredundelivered,并且在一段时间内会发生变化时间。

根据文档,API提供了一种出色的工具,可以使用StatusCallback请求参数来监视消息的状态,此参数的值是在消息状态更改时被调用的URL。

我假设StatusCallback URL是我们的自定义REST API端点,只要消息状态更改,Twilio就会调用它。我对么?如果是,如何对Twilio进行身份验证以调用我们的StatusCallback URL,如何处理StatusCallback URL的身份验证?

1 个答案:

答案 0 :(得分:1)

Twilio允许您通过两种方式为Webhooks设置身份验证。

首先,您可以将端点设置为要求HTTP authentication。然后,您可以在URL中设置用户名和密码。 Twilio将首先发送不带Authorization头的请求。服务器使用响应状态代码401 Unauthorized,响应头WWW-Authenticate和响应点realm进行响应之后,Twilio将使用响应头Authorization发出相同的请求。

另一种确保请求发起人是Twilio的方法是将validate the signature作为请求的X-Twilio-Signature标头。签名由URL和请求的所有参数组成,并使用您帐户的auth令牌签名。如果可以生成相同的签名,则可以信任它来自Twilio。选中the documentation for how to validate the signature,它也内置在每个官方的Twilio帮助程序库中。