- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用Twilio官方tutorial code here ,我得到一个电话号码和一个运行良好的 TwiML 应用程序,并启动 flask
服务器和 ngrok
转发进程。操作系统和浏览器是 Mac OSX 上的 Chrome 53.0.2785.143(64 位)
。
不幸的是,它失败了,给出了这个错误:Twilio.Device Error: JWT signature validation failed
如屏幕截图所示:
我试过像这样将 {debug : true}
传递给调用:
Twilio.Device.setup(data.token, { debug: true });
得到如下输出:
但目前还不清楚发生了什么。如果我尝试将返回到 Python 控制台的实际兼容性 token (使用 JWT encoder/decoder )并尝试使用 Twilio secret 身份验证 token 和 HS256 algorithm 对其进行解码:
from jose import jwt
token = "xxxxx" # compatibility token from above in browser
print jwt.decode(token, TWILIO_AUTH_TOKEN, algorithms=['HS256'])
我收到以下错误:
/Users/me/.virtualenvs/myenv/lib/python2.7/site-packages/jose/jwt.pyc in decode(token, key, algorithms, options, audience, issuer, subject, access_token)
132 payload = jws.verify(token, key, algorithms, verify=verify_signature)
133 except JWSError as e:
--> 134 raise JWTError(e)
135
136 # Needed for at_hash verification
JWTError: Signature verification failed.
所以也许他们没有使用它作为编码解码的 secret ,所以不确定这能证明多少。
有什么想法吗?
最佳答案
有几件事可以尝试。
首先:确保您使用的是实际的 AccountSID 和 AuthToken,不要尝试使用“测试凭据”。如果您使用的是试用帐户,则一切正常,twilio 仅在语音调用前添加了问候语。
其次:确保您已经创建了一个 TwiML 应用程序,并在“allowClientOutgoing”方法期间将关联的 AppID 用于“applicationId”。
这应该可以帮助您完成 JWT 签名过程。如果您的服务器似乎无法正常工作。我刚刚构建了一个位于 here 的 Google Apps 脚本版本.只需按照代码中的符号制作副本以放置您的凭据和 appId,然后您就可以查看它是否与您的服务器有关。要使用,只需向已发布的应用程序脚本 URL 发出 GET 请求,它就会重新调整 token 。
确保 JWT 签名正确后的其他步骤。
对于传出,您将需要回调到您的服务器以发送一些带有命令的 TwiML 来调用传出号码。附加的 Google Apps 脚本中也有一个设置。将脚本 url 添加到您注册的 twilio 号码上的语音回调部分,并将其设置为 POST 请求。
传出的 TwiML 示例
<Response><Dial callerId="+//enter your registered phonenumber here////">'+tocall+'</Dial></Response>'
对于传入连接,您需要使用一些代码设置 TwiML Bin,以调用您在“allowIncoming(clientName)”方法中使用的用户名。
传入的 TwiML 示例
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Client>//client name or id registered during token generation here\\</Client>
</Dial>
</Response>
然后将 TwiML Bin 分配到控制台内已注册电话号码的传入端。
关于javascript - twilio.js 浏览器软件电话 - JWT 签名验证问题 (Mac OSX/Chrome),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40138459/
我有一个包含姓名、电子邮件和内容文本区域的表单。一切正常,但当我尝试为手机号码添加 1 个表单输入时,表单不会提交。 Javascript: function hgsubmit() { i
所以我正试图在 Scheme 中找出整个 call/cc 的东西。下面是我正在使用的代码: (+ 1 (call/cc (lambda (k) (if (number? k)
所以我正试图在 Scheme 中找出整个 call/cc 的东西。下面是我正在使用的代码: (+ 1 (call/cc (lambda (k) (if (number? k)
我在 list 中有权限: 检查电话是否正在使用的代码可能会为无法接听电话的平板电脑等设备启动安全异常。所以,我制作了这个方法来检查是否设备可以使用 TelephonyManager: priva
我想知道 facebook API 允许 PHP 网页提取以下用户数据的先决条件是什么: 姓名 电子邮件 电话 据我了解,提取电话号码需要您的网站在 facebook/Websense 的白名单中吗?
我如何从我的应用程序调用特定号码的电话?给我一些执行此任务的逻辑或代码... 最佳答案 使用 UIApplication 的 openURL: 方法: [[UIApplication sharedAp
在 URI 中,空格可以编码为 + .既然如此,那么在创建具有国际前缀的 tel URI 时是否应该对前导加号进行编码? 哪个更好?两者在实践中都有效吗? Call me Call me 最佳答案 不
我正在尝试使用 Insomnia 调用 SOAP 电话 - 特别是试图让帖子成功。我将 URL 定义为端点,并将正文类型作为带有 SOAP 内容(信封、标题、正文)的 XML。我在标题中定义了用户 I
服务器有没有办法将一些数据无线无缝地推送到客户端,可能是 Windows(电话)、iPhone、Mac 或 Android 设备,没有任何操作系统集成? 如果是这样,最好的设计模式是什么,最好的技术是
我有一个搜索字段,我希望用户能够通过电话或电子邮件进行搜索。但是,我的 onclick 事件没有触发。我已经尝试过控制台工具,但似乎无法通过那里进行调试。 {% from "_form
如果重新加载接收调用的浏览器窗口,我将面临实时 Twilio 调用被丢弃的情况。有没有办法在不影响实时通话的情况下克服这种挫折? 最佳答案 Twilio 布道者在这里。 根据您的问题,我假设您使用的是
我试图在我的服务中减少我的 promise 对象。我有类似的东西 angular.module('myApp').service('testService', ['Employees','$q',
我想在我的java应用程序中构建一个电话调用器。为此,我使用了 JAIN-SIP 库。第一次 INVITE 后,系统需要代理身份验证。第二个邀请是在“AuthenticationHelperImpl.
两天前我正在开发一个 VOIP 应用程序,并成功地使用 Sinch 实现了一个普通的应用程序到应用程序调用。 .该应用程序运行良好。当我开始时,我在他们的文档中看到他们支持电话 session 。 现
我正在尝试创建一个 java 程序,它将创建 excel 文件并将其上传到谷歌驱动器中。上传后我需要它来授予权限。我已经完成了所有这些,但问题在于尝试将 excel 文件转换为 google 文件,以
我想使用 Android Sip 进行电话 session .那可能吗?有人可以举一个有效的例子吗?使用该库是否有任何限制,比如它可以在 3G 或 4G 上工作? 最佳答案 当前的 Android S
是否可以通过编程方式在 android 中接听电话? 我发现有些地方不可能,但后来安装了应用程序 https://play.google.com/store/apps/details?id=com.a
我试图在单击导航中的某个按钮后将一个类附加到 div。 $navButtons.on('click', navigationClick); // liseten to the navigation a
在 Monotouch 中是否有任何方法可以读取电话或调用者服务的当前状态? 我正在尝试寻找某种方式来读取通话是否处于事件状态或通话是否处于等待状态等。 用谷歌搜索没有找到任何结果。 希望运行一些代码
我可能正在搜索错误的内容,这可能解释了为什么我只能找到有关设置密码自动填充的信息。 我正在寻找用户能够在应用程序中输入电子邮件、电话、名字和姓氏的功能,就像某些网站能够做到的那样,选项出现在键盘上方。
我是一名优秀的程序员,十分优秀!