* Update Travis.yml * Update README * Update README * Adjust test to not rely on env vars * Update encryption * Refactor * Update env key * Stub AWS calls * Create ApplicationConfig * Fix specs * Fix lint * Update ApplicationConfig * Remove travis env vars * Fix lint * Extend character limit to 100 * Add env to travis * Take out auto-restart after deploy * Immediately discarded test cache * Stub GA in request specs * Stub Pusher * Fix broken specs * Update fixture * Add CodeClimate id * Change CodeClimate key * Remove merge mistakes * WIP * Add Envied gem & Change README * Add missing keys * Add missing key * Update fixture * Fix broken spec * Add Slack Notification for Travis * Fix wording * Fix typo
29 lines
596 B
Ruby
29 lines
596 B
Ruby
class TwilioToken
|
|
attr_accessor :user, :room_name
|
|
|
|
def initialize(user, room_name)
|
|
@user = user
|
|
@room_name = room_name
|
|
end
|
|
|
|
def get
|
|
account_sid = ApplicationConfig["TWILIO_ACCOUNT_SID"]
|
|
api_key = ApplicationConfig["TWILIO_VIDEO_API_KEY"]
|
|
api_secret = ApplicationConfig["TWILIO_VIDEO_API_SECRET"]
|
|
|
|
token = Twilio::JWT::AccessToken.new(
|
|
account_sid,
|
|
api_key,
|
|
api_secret,
|
|
[],
|
|
identity: user.id
|
|
)
|
|
|
|
grant = Twilio::JWT::AccessToken::VideoGrant.new
|
|
grant.room = room_name
|
|
token.add_grant(grant)
|
|
|
|
token.to_jwt
|
|
end
|
|
|
|
end
|