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

401 Unauthorized Access while using Twilio's Programmable Chat

我正在尝试使用 Twilio 的可编程聊天创建一个 iOS 聊天应用程序。 我可以通过传递设备令牌和身份从 Twilio 检索令牌,但我在加载频道(如果有)时收到 401 unauthorized Access。我检查了我的 Twilio 凭据

TWILIO_ACCOUNT_SID 
TWILIO_AUTH_TOKEN 
TWILIO_API_KEY
TWILIO_API_SECRET 
TWILIO_IPM_SERVICE_SID

并且都分配正确。

这是我从 Twilio 收到的回复。

json = ["identity": ved, "token": 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 | TN 传输连接状态 |离开状态:Transport connecting 2017-06-28 22:34:07.682 twiliochat[1252:53398] TNTwilsockClient[4]: 0x700004143000 | 06/28/22:34:07.680 |调试 | 1 | TNTwilsock客户端 | onMessageReceived(226) TWILSOCK V1.0 160 {"method":"close","id":"TM43a26b096fb040dca4751bef7ca17dec","payload_size":43,"payload_type":"application/json", "status":{"code":401,"status":"Not authorized"}} {"code":401,"status":"Authorization error"}

回答这个话题之前需要考虑的几点注意事项:

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

这里是 Twilio 开发人员布道者。

看起来您在生成访问令牌时使用的是您的身份验证令牌而不是 API 密钥。

确保您像这样实例化访问令牌:

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

API 键应该开始 "SK..."

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

如果有帮助请告诉我。