Программируемый чат 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