playlyfe 0.7.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/playlyfe.rb +10 -0
  2. data/test/test.rb +9 -0
  3. metadata +18 -2
@@ -1,6 +1,7 @@
1
1
  require 'uri'
2
2
  require 'json'
3
3
  require 'rest_client'
4
+ require 'jwt'
4
5
 
5
6
  class PlaylyfeError < StandardError
6
7
  attr_accessor :name, :message
@@ -21,6 +22,15 @@ end
21
22
  class Playlyfe
22
23
  attr_reader :sdk_version
23
24
 
25
+ def self.createJWT(options)
26
+ options[:scopes] ||= []
27
+ options[:expires] ||= 3600
28
+ expires = Time.now.to_i + options[:expires]
29
+ token = JWT.encode({:player_id => options[:player_id], :scopes => options[:scopes], :exp => expires}, options[:client_secret], 'HS256')
30
+ token = "#{options[:client_id]}:#{token}"
31
+ return token
32
+ end
33
+
24
34
  def initialize(options = {})
25
35
  if options[:type].nil?
26
36
  err = PlaylyfeError.new("")
@@ -237,4 +237,13 @@ class PlaylyfeTest < Test::Unit::TestCase
237
237
  redirect_uri: 'https://playlyfe.com/v1/api'
238
238
  )
239
239
  end
240
+
241
+ def test_jwt
242
+ token = Playlyfe.createJWT(
243
+ client_id: "MWYwZGYzNTYtZGIxNy00OGM5LWExZGMtZjBjYTFiN2QxMTlh",
244
+ client_secret: "NmM2YTcxOGYtNGE2ZC00ZDdhLTkyODQtYTIwZTE4ZDc5YWNjNWFiNzBiYjAtZmZiMC0xMWU0LTg5YzctYzc5NWNiNzA1Y2E4",
245
+ player_id: 'student1'
246
+ )
247
+ puts token
248
+ end
240
249
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playlyfe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-16 00:00:00.000000000 Z
12
+ date: 2015-05-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest_client
@@ -43,6 +43,22 @@ dependencies:
43
43
  - - '='
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.8.2
46
+ - !ruby/object:Gem::Dependency
47
+ name: jwt
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - '='
52
+ - !ruby/object:Gem::Version
53
+ version: 1.5.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 1.5.0
46
62
  - !ruby/object:Gem::Dependency
47
63
  name: rake
48
64
  requirement: !ruby/object:Gem::Requirement