layer-identity_token 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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