Программируемый чат Twilio Ruby. Получение 401 ошибок

Я пробую программируемый API чата Twilio через этот репозиторий: https://github.com/TwilioDevEd/ipm-quickstart-ruby

В данный момент он падает, проверяя токен, который создается на сервере.

Однако я попробовал другую демонстрацию чата, написанную на узле, и она прекрасно работает: https://github.com/twilio/twilio-chat-demo-js

Мой проект в Ruby. Я ищу информацию от кого-то из Twilio или сообщества, которое решило эту проблему и может указать мне правильное направление для запуска и запуска приложения.

1 ответ

Это была сложная проблема для устранения неполадок.

Клиент ожидает ключ push_credentials_sid под хешем предоставления в маркере JWT.

Это код, который решает проблему:

app.rb

# Generate a token for use in our IP Messaging application
get '/token' do
  # Get the user-provided ID for the connecting device
  device_id = params['device']

  # Create a random username for the client
  identity = Faker::Internet.user_name

  # Create a unique ID for the currently connecting device
  endpoint_id = "TwilioDemoApp:#{identity}:#{device_id}"

  # Create an Access Token for IP messaging usage
  token = Twilio::Util::AccessToken.new ENV['TWILIO_ACCOUNT_SID'],
    ENV['TWILIO_API_KEY'], ENV['TWILIO_API_SECRET'], 3600, identity

  # Create IP Messaging grant for our token
  grant = Twilio::Util::AccessToken::IpMessagingGrant.new
  grant.service_sid = ENV['TWILIO_IPM_SERVICE_SID']
  grant.push_credential_sid = 'CRe9c5eff29e744709d7df875f8a797bf0'
  grant.endpoint_id = endpoint_id
  token.add_grant grant

  # Generate the token and send to client
  json :identity => identity, :token => token.to_jwt
end
Другие вопросы по тегам