401使用Twilio的可编程聊天时未经授权的访问

时间:2017-06-28 14:54:22

标签: ios swift chat twilio

我正在尝试使用Twilio的可编程聊天创建iOS聊天应用程序。 我可以通过传递设备令牌和身份从Twilio中检索令牌,但是在加载频道(如果有)时我得到 401未授权访问。我查看了我的Twilio证书

TWILIO_ACCOUNT_SID 
TWILIO_AUTH_TOKEN 
TWILIO_API_KEY
TWILIO_API_SECRET 
TWILIO_IPM_SERVICE_SID

并且所有这些都被正确分配。

这是我从Twilio收到的回复。

JSON = [ “同一性”:粘弹性阻尼器 “令牌”: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImN0eSI6InR3aWxpby1mcGE7dj0xIn0.eyJqdGkiOiJkNTNmZGFjZDlmMWUwODA0OGZjOGE3MDU5ZTAyYTg1Zi0xNDk4NjY5Mjc1IiwiZ3JhbnRzIjp7ImlkZW50aXR5IjoidmVkIiwiaXBfbWVzc2FnaW5nIjp7InNlcnZpY2Vfc2lkIjoiSVMwNjYxMWUwNzE4M2U0NmVkOWE5ZWM1Yzg4ZGFhZmViNCIsImVuZHBvaW50X2lkIjoiQ2hhdFNlcnZpY2U6dmVkOnVuZGVmaW5lZCJ9fSwiaWF0IjoxNDk4NjY5Mjc1LCJleHAiOjE0OTg2NzI4NzUsImlzcyI6ImQ1M2ZkYWNkOWYxZTA4MDQ4ZmM4YTcwNTllMDJhODVmIiwic3ViIjoiQUMwYjI4OWViMGUwNTc2ZGU0NDNhMTkzYzdkZjk4YTg4OCJ9.LfSUM3v70Am3d3me6BQn7NC3T6mPggD9cikjf52Qvk8

作为参考,我在控制台中获得了以下stackTrace。

2017-06-28 22:33:18.705 twiliochat [1252:52536] TNNotificationClient [2]:0x7000047ea000 | 06/28/22:33:18.704 |警告| 7 | TNNotificationClient | onTwilsockError:0 - 连接时Poco异常:I / O错误:插槽描述符错误

2017-06-28 22:34:07.682 twiliochat [1252:52530] TNTransportConnectingState [3]:0x7000044d8000 | 06/28/22:34:07.680 |信息| 9 | TNTransportConnectingState |离开状态:运输连接 2017-06-28 22:34:07.682 twiliochat [1252:53398] TNTwilsockClient [4]:0x700004143000 | 06/28/22:34:07.680 |调试| 1 | TNTwilsockClient | onMessageReceived(226) TWILSOCK V1.0 160 的 { “方法”: “关闭”, “ID”: “TM43a26b096fb040dca4751bef7ca17dec”, “payload_size”:43, “payload_type”: “应用/ JSON”, “状态”:{ “代码”:401, “状态” :“未经授权”}} {“code”:401,“status”:“授权错误”}

在回答这个帖子之前要考虑的几点注意事项:

  1. 我已正确设置我的服务器,而且我也在做ngrok。
  2. 我使用node.js进行服务器设置。

1 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

在生成访问令牌时,您似乎正在使用身份验证令牌而不是API密钥。

确保您正在实例化这样的访问令牌:

  const accessToken = new AccessToken(
    context.TWILIO_ACCOUNT_SID,
    context.TWILIO_API_KEY,
    context.TWILIO_API_SECRET
  );

API密钥应该开始" SK ..."

作为预防措施,由于您的身份验证令牌已暴露,您应该在Twilio控制台中更改它。

让我知道这是否有帮助。