layer-identity_token 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6e52deb6b8385c2d86881724ea3ebddc29c71d3
4
- data.tar.gz: 3ba56f4db9a7828585d25a7608cd036ed857a7ff
3
+ metadata.gz: b60e881df8a3b64e989e151c3c8d28dcd26c481c
4
+ data.tar.gz: 0a30e8ff72a3a81be23b45888426155aaea401e1
5
5
  SHA512:
6
- metadata.gz: 6f601399b78eac7a8d96bb14141353e7840b24a30a827ae08d59ee145a1edbe3de1985147b70283c0f01897152568db7b1492463e28cbf3d7a3903d63d97e2e6
7
- data.tar.gz: f70bdd046f48b66d25d765f6a728ce50195c163d3f0d0db6cb5943b166958a555e5b0e07a9764fea340e47604fb0360dd9b0877c2dc3ba61ccb9d6686fc0172e
6
+ metadata.gz: fe5a6de59b2708c767acd14ef9152dcfd61b62463da1695672b369c5278bd21f1b7191a7c62b3fd496240469b2f6b273bc8d14f6932dc3cf6305236e95cd7c00
7
+ data.tar.gz: 51feb52f6a305006efae4112db5f92a23972c59218cb638b9c74e42e32c392651a1e64b71fa0c527f43d926707ca2de8e4ddbb8800f34e022498cdb05972a4ba
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  .ruby-gemset
2
2
  .ruby-version
3
3
  *.gem
4
+ .DS_Store
data/README.md CHANGED
@@ -46,6 +46,21 @@ class ApiController
46
46
  end
47
47
  ```
48
48
 
49
+ ### Usage with Identity attributes
50
+
51
+ If you want to set some attributes on the Layer Identity, allowed attributes are: `first_name`, `last_name`, `display_name`, and `avatar_url`:
52
+
53
+ ```ruby
54
+ token = Layer::IdentityToken.new(user.id, nonce, expires_at, {
55
+ 'first_name' => user.first_name,
56
+ 'last_name' => user.last_name,
57
+ 'display_name' => user.display_name,
58
+ 'avatar_url' => user.avatar_url
59
+ })
60
+
61
+ token.encode
62
+ ```
63
+
49
64
  ## Configuration
50
65
 
51
66
  Per default the class looks for ENV variables like:
@@ -8,11 +8,11 @@ module Layer
8
8
  :layer_private_key
9
9
 
10
10
  def layer_provider_id
11
- %Q{layer:///providers/#{(@layer_provider_id || ENV["LAYER_PROVIDER_ID"]).split("/").last}}
11
+ @layer_provider_id || ENV["LAYER_PROVIDER_ID"]
12
12
  end
13
13
 
14
14
  def layer_key_id
15
- %Q{layer:///keys/#{(@layer_key_id || ENV["LAYER_KEY_ID"]).split("/").last}}
15
+ @layer_key_id || ENV["LAYER_KEY_ID"]
16
16
  end
17
17
 
18
18
  def layer_private_key
@@ -20,14 +20,21 @@ module Layer
20
20
  end
21
21
  end
22
22
 
23
+ SUPPORTED_CLAIM_ATTRIBUTES = %w(first_name last_name display_name avatar_url metadata)
24
+
23
25
  attr_reader :user_id,
24
26
  :nonce,
25
- :expires_at
27
+ :expires_at,
28
+ :more_claim_attributes
26
29
 
27
- def initialize(user_id, nonce, expires_at = (Time.now+(86400*14)))
30
+ def initialize(user_id, nonce, expires_at = (Time.now+(86400*14)),
31
+ more_claim_attributes = {})
28
32
  @user_id = user_id
29
33
  @nonce = nonce
30
34
  @expires_at = expires_at
35
+ @more_claim_attributes = more_claim_attributes.select do |key, _value|
36
+ SUPPORTED_CLAIM_ATTRIBUTES.include?(key.to_s)
37
+ end
31
38
  end
32
39
 
33
40
  def encode
@@ -52,13 +59,13 @@ module Layer
52
59
  end
53
60
 
54
61
  def claim
55
- {
62
+ more_claim_attributes.merge(
56
63
  iss: self.class.layer_provider_id,
57
64
  prn: user_id.to_s,
58
65
  iat: Time.now.to_i,
59
66
  exp: expires_at.to_i,
60
67
  nce: nonce
61
- }
68
+ )
62
69
  end
63
70
 
64
71
  def private_key
@@ -1,5 +1,5 @@
1
1
  module Layer
2
2
  class IdentityToken
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: layer-identity_token
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - we5
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-15 00:00:00.000000000 Z
11
+ date: 2018-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
108
  version: '0'
109
109
  requirements: []
110
110
  rubyforge_project:
111
- rubygems_version: 2.4.3
111
+ rubygems_version: 2.2.2
112
112
  signing_key:
113
113
  specification_version: 4
114
114
  summary: IdentityToken for Layer clients