keycloak-api-rails 0.6 → 0.7

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: 1fb2c6f355e3fc27fbb0110609f34fc4d17e34f0
4
- data.tar.gz: 3f338ecbe4d68ecccf65904434399394b7f51a80
3
+ metadata.gz: b298ef611dd538dad42613e80be8096b4b98ad2d
4
+ data.tar.gz: fd2db99fb54de4316c05df4917e1ff8397cb51c9
5
5
  SHA512:
6
- metadata.gz: 869df876da34f6cbb957a7c12f88975efc5147ddb4282813b30997aa5e9b229045f5e3fee056429a6990193909b3e864893d69787f67e09ade924816f5696b96
7
- data.tar.gz: 1a1e5f069ad76e2eb83653bddff7da10b019097f06277f91793b6839e2ccf3fe91e1df3ff25a5a12caf32fdc4668570e853a964a64fee0d85c4c1eb8aabd009e
6
+ metadata.gz: c1d734c4ac0143450b9705c0ab30db0ed0607a593e8cb5f0ccef16705f08b5dbd0b74b3814d0aacb51016d43b348e9e4242ae18814fd90dad0d388a6a032fe05
7
+ data.tar.gz: 0c475bcd1964c1f519d35cba8dfc4be920d10e6e1bce8d5c13eaa64ea5728128399b8e3df9374cd15afc5d6080de1565627b4f4f536d741c76380c5d4be6a9e1
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  .bundle/
2
2
  log/*.log
3
- .byebug_history
3
+ .byebug_history
4
+ *.gem
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- keycloak-api-rails (0.6)
4
+ keycloak-api-rails (0.7)
5
5
  json-jwt (~> 1.8, >= 1.8.3)
6
6
  rails (>= 4.2)
7
7
 
@@ -46,7 +46,7 @@ GEM
46
46
  minitest (~> 5.1)
47
47
  tzinfo (~> 1.1)
48
48
  arel (8.0.0)
49
- bindata (2.4.1)
49
+ bindata (2.4.2)
50
50
  builder (3.2.3)
51
51
  byebug (9.1.0)
52
52
  concurrent-ruby (1.0.5)
@@ -55,7 +55,7 @@ GEM
55
55
  erubi (1.7.0)
56
56
  globalid (0.4.1)
57
57
  activesupport (>= 4.2.0)
58
- i18n (0.9.1)
58
+ i18n (0.9.3)
59
59
  concurrent-ruby (~> 1.0)
60
60
  json-jwt (1.8.3)
61
61
  activesupport
@@ -70,11 +70,11 @@ GEM
70
70
  method_source (0.9.0)
71
71
  mini_mime (1.0.0)
72
72
  mini_portile2 (2.3.0)
73
- minitest (5.11.1)
73
+ minitest (5.11.3)
74
74
  nio4r (2.2.0)
75
- nokogiri (1.8.1)
75
+ nokogiri (1.8.2)
76
76
  mini_portile2 (~> 2.3.0)
77
- rack (2.0.3)
77
+ rack (2.0.4)
78
78
  rack-test (0.8.2)
79
79
  rack (>= 1.0, < 3)
80
80
  rails (5.1.4)
@@ -125,7 +125,7 @@ GEM
125
125
  thor (0.20.0)
126
126
  thread_safe (0.3.6)
127
127
  timecop (0.9.1)
128
- tzinfo (1.2.4)
128
+ tzinfo (1.2.5)
129
129
  thread_safe (~> 0.1)
130
130
  url_safe_base64 (0.2.2)
131
131
  websocket-driver (0.6.5)
data/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  This gem aims at validates Keycloak JWT token in Ruby On Rails APIs.
4
4
 
5
+ ## Install
6
+
7
+ ```ruby
8
+ gem "keycloak-api-rails", "0.7"
9
+ ```
10
+
5
11
  ## Token validation
6
12
 
7
13
  Tokens send (through query strings or Authorization headers) to this Railtie Middleware are validated against a Keycloak public key. This public key is downloaded every day by default (this interval can be changed through `public_key_cache_ttl`).
@@ -1,9 +1,11 @@
1
1
  module Keycloak
2
2
  class Helper
3
3
 
4
- CURRENT_USER_ID_KEY = "keycloak:keycloak_id"
5
- ROLES_KEY = "keycloak:roles"
6
- QUERY_STRING_TOKEN_KEY = "authorizationToken"
4
+ CURRENT_USER_ID_KEY = "keycloak:keycloak_id"
5
+ CURRENT_USER_EMAIL_KEY = "keycloak:email"
6
+ CURRENT_USER_LOCALE_KEY = "keycloak:locale"
7
+ ROLES_KEY = "keycloak:roles"
8
+ QUERY_STRING_TOKEN_KEY = "authorizationToken"
7
9
 
8
10
  def self.current_user_id(env)
9
11
  env[CURRENT_USER_ID_KEY]
@@ -13,6 +15,22 @@ module Keycloak
13
15
  env[CURRENT_USER_ID_KEY] = token["sub"]
14
16
  end
15
17
 
18
+ def self.current_user_email(env)
19
+ env[CURRENT_USER_EMAIL_KEY]
20
+ end
21
+
22
+ def self.assign_current_user_email(env, token)
23
+ env[CURRENT_USER_EMAIL_KEY] = token["email"]
24
+ end
25
+
26
+ def self.current_user_locale(env)
27
+ env[CURRENT_USER_LOCALE_KEY]
28
+ end
29
+
30
+ def self.assign_current_user_locale(env, token)
31
+ env[CURRENT_USER_LOCALE_KEY] = token["locale"]
32
+ end
33
+
16
34
  def self.current_user_roles(env)
17
35
  env[ROLES_KEY]
18
36
  end
@@ -30,6 +30,8 @@ module Keycloak
30
30
 
31
31
  def authentication_succeeded(env, decoded_token)
32
32
  Helper.assign_current_user_id(env, decoded_token)
33
+ Helper.assign_current_user_email(env, decoded_token)
34
+ Helper.assign_current_user_locale(env, decoded_token)
33
35
  Helper.assign_realm_roles(env, decoded_token)
34
36
  @app.call(env)
35
37
  end
@@ -1,3 +1,3 @@
1
1
  module Keycloak
2
- VERSION = "0.6"
2
+ VERSION = "0.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keycloak-api-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.6'
4
+ version: '0.7'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lorent Lempereur
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-17 00:00:00.000000000 Z
11
+ date: 2018-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails