omniauth-keycloak 1.0.1 → 1.3.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
  SHA256:
3
- metadata.gz: ee24a3af9bf792c089adf90c7cb4d283b9bf2c390828ff022344b5588dcddef2
4
- data.tar.gz: 8e4404c638641547591ca1ec38b499efa03198cfd04aad7734d78bba144ed5c2
3
+ metadata.gz: 8c9982a0ec26f3a29c6e8a2ff4563c45ec0c3944c69b8e3d853a5a9641fab529
4
+ data.tar.gz: 7bf4b42a30813bb0dd7a67866b051e9a5802970d1e1754aeaf393140b10d2e4e
5
5
  SHA512:
6
- metadata.gz: e66fd26b40742d97daf9cd28a2469fdb6349b7ccd94178ba6c06a2973fa368048e1a9a78200115f821b92e72324b5b492482a5b6ab6262413a2fec1e1bef97e5
7
- data.tar.gz: b314bd271ccc280d1d244237300e482c7c58a059c742c9f4baff1517031fcfdff0f7c85aca6fcc1e0c4325977cb2c64e2f0aa1863240222a4cedf9a4809f2e30
6
+ metadata.gz: 7d04d5c18554fdb152fb00bc961615a2d08c320237fa85e1e1118a82616ff7ba5cf65c0b0da8d857ae0243119100c12a192547c7a9fadc3b658146470dc07db7
7
+ data.tar.gz: 1ca221dedc1468014e5761596612aac041d8da7acb3edda25b35ea211c2a4b30c533894a506b3dd480cecde2c43eff4fd63884bd969dfde55779728bb87dea99
data/CHANGELOG.md ADDED
@@ -0,0 +1,44 @@
1
+ # Changelog
2
+
3
+ ## [v1.2.1](https://github.com/ccrockett/omniauth-keycloak/tree/v1.2.1) (2020-12-19)
4
+
5
+ [Full Changelog](https://github.com/ccrockett/omniauth-keycloak/compare/v1.2.0...v1.2.1)
6
+
7
+ **Closed issues:**
8
+
9
+ - Dynamically load Client and Realm [\#11](https://github.com/ccrockett/omniauth-keycloak/issues/11)
10
+ - cannot load such file -- /Library/Ruby/Gems/2.6.0/gems/omniauth-keycloak-1.2.0/lib/omniauth-keycloak.rb \(LoadError\) [\#8](https://github.com/ccrockett/omniauth-keycloak/issues/8)
11
+ - Release json-jwt version restriction change [\#5](https://github.com/ccrockett/omniauth-keycloak/issues/5)
12
+
13
+ **Merged pull requests:**
14
+
15
+ - Raise errors on setup failure and logging with OmniAuth::Strategy::log method [\#10](https://github.com/ccrockett/omniauth-keycloak/pull/10) ([alexpetrov](https://github.com/alexpetrov))
16
+ - Bump json from 2.1.0 to 2.3.1 [\#9](https://github.com/ccrockett/omniauth-keycloak/pull/9) ([dependabot[bot]](https://github.com/apps/dependabot))
17
+
18
+ ## [v1.2.0](https://github.com/ccrockett/omniauth-keycloak/tree/v1.2.0) (2020-05-28)
19
+
20
+ [Full Changelog](https://github.com/ccrockett/omniauth-keycloak/compare/v1.1.0...v1.2.0)
21
+
22
+ **Merged pull requests:**
23
+
24
+ - Bump rack from 2.2.2 to 2.2.3 [\#7](https://github.com/ccrockett/omniauth-keycloak/pull/7) ([dependabot[bot]](https://github.com/apps/dependabot))
25
+ - Bump activesupport from 6.0.1 to 6.0.3.1 [\#6](https://github.com/ccrockett/omniauth-keycloak/pull/6) ([dependabot[bot]](https://github.com/apps/dependabot))
26
+ - Update rake requirement from ~\> 10.0 to ~\> 13.0 [\#4](https://github.com/ccrockett/omniauth-keycloak/pull/4) ([dependabot[bot]](https://github.com/apps/dependabot))
27
+ - Bump rack from 2.0.7 to 2.0.8 [\#2](https://github.com/ccrockett/omniauth-keycloak/pull/2) ([dependabot[bot]](https://github.com/apps/dependabot))
28
+ - Adding Devise Documentation [\#1](https://github.com/ccrockett/omniauth-keycloak/pull/1) ([masonhensley](https://github.com/masonhensley))
29
+
30
+ ## [v1.1.0](https://github.com/ccrockett/omniauth-keycloak/tree/v1.1.0) (2018-12-16)
31
+
32
+ [Full Changelog](https://github.com/ccrockett/omniauth-keycloak/compare/v1.0.1...v1.1.0)
33
+
34
+ ## [v1.0.1](https://github.com/ccrockett/omniauth-keycloak/tree/v1.0.1) (2018-12-16)
35
+
36
+ [Full Changelog](https://github.com/ccrockett/omniauth-keycloak/compare/v1.0.0...v1.0.1)
37
+
38
+ ## [v1.0.0](https://github.com/ccrockett/omniauth-keycloak/tree/v1.0.0) (2018-12-16)
39
+
40
+ [Full Changelog](https://github.com/ccrockett/omniauth-keycloak/compare/7877c8a75f9e3f342b49bf808fa69965377d60b5...v1.0.0)
41
+
42
+
43
+
44
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Gemfile.lock CHANGED
@@ -1,59 +1,70 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- omniauth-keycloak (1.0.1)
5
- json-jwt (~> 1.9.4)
6
- omniauth (~> 1.8.1)
7
- omniauth-oauth2 (~> 1.5.0)
4
+ omniauth-keycloak (1.3.0)
5
+ json-jwt (~> 1.13.0)
6
+ omniauth (~> 2.0.4)
7
+ omniauth-oauth2 (~> 1.7.1)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (5.2.1)
12
+ activesupport (6.1.3.2)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ zeitwerk (~> 2.3)
17
18
  addressable (2.5.2)
18
19
  public_suffix (>= 2.0.2, < 4.0)
19
- aes_key_wrap (1.0.1)
20
- bindata (2.4.4)
21
- concurrent-ruby (1.1.3)
20
+ aes_key_wrap (1.1.0)
21
+ bindata (2.4.9)
22
+ concurrent-ruby (1.1.8)
22
23
  crack (0.4.3)
23
24
  safe_yaml (~> 1.0.0)
24
25
  diff-lcs (1.3)
25
26
  docile (1.3.1)
26
- faraday (0.15.3)
27
+ faraday (1.4.1)
28
+ faraday-excon (~> 1.1)
29
+ faraday-net_http (~> 1.0)
30
+ faraday-net_http_persistent (~> 1.1)
27
31
  multipart-post (>= 1.2, < 3)
32
+ ruby2_keywords (>= 0.0.4)
33
+ faraday-excon (1.1.0)
34
+ faraday-net_http (1.0.1)
35
+ faraday-net_http_persistent (1.1.0)
28
36
  hashdiff (0.3.7)
29
- hashie (3.5.7)
30
- i18n (1.1.1)
37
+ hashie (4.1.0)
38
+ i18n (1.8.10)
31
39
  concurrent-ruby (~> 1.0)
32
- json (2.1.0)
33
- json-jwt (1.9.4)
34
- activesupport
40
+ json (2.3.1)
41
+ json-jwt (1.13.0)
42
+ activesupport (>= 4.2)
35
43
  aes_key_wrap
36
44
  bindata
37
- jwt (2.1.0)
38
- minitest (5.11.3)
39
- multi_json (1.13.1)
45
+ jwt (2.2.3)
46
+ minitest (5.14.4)
47
+ multi_json (1.15.0)
40
48
  multi_xml (0.6.0)
41
- multipart-post (2.0.0)
42
- oauth2 (1.4.1)
43
- faraday (>= 0.8, < 0.16.0)
49
+ multipart-post (2.1.1)
50
+ oauth2 (1.4.7)
51
+ faraday (>= 0.8, < 2.0)
44
52
  jwt (>= 1.0, < 3.0)
45
53
  multi_json (~> 1.3)
46
54
  multi_xml (~> 0.5)
47
55
  rack (>= 1.2, < 3)
48
- omniauth (1.8.1)
49
- hashie (>= 3.4.6, < 3.6.0)
56
+ omniauth (2.0.4)
57
+ hashie (>= 3.4.6)
50
58
  rack (>= 1.6.2, < 3)
51
- omniauth-oauth2 (1.5.0)
52
- oauth2 (~> 1.1)
53
- omniauth (~> 1.2)
59
+ rack-protection
60
+ omniauth-oauth2 (1.7.1)
61
+ oauth2 (~> 1.4)
62
+ omniauth (>= 1.9, < 3)
54
63
  public_suffix (3.0.3)
55
- rack (2.0.6)
56
- rake (10.5.0)
64
+ rack (2.2.3)
65
+ rack-protection (2.1.0)
66
+ rack
67
+ rake (13.0.1)
57
68
  rspec (3.8.0)
58
69
  rspec-core (~> 3.8.0)
59
70
  rspec-expectations (~> 3.8.0)
@@ -67,30 +78,31 @@ GEM
67
78
  diff-lcs (>= 1.2.0, < 2.0)
68
79
  rspec-support (~> 3.8.0)
69
80
  rspec-support (3.8.0)
81
+ ruby2_keywords (0.0.4)
70
82
  safe_yaml (1.0.4)
71
83
  simplecov (0.16.1)
72
84
  docile (~> 1.1)
73
85
  json (>= 1.8, < 3)
74
86
  simplecov-html (~> 0.10.0)
75
87
  simplecov-html (0.10.2)
76
- thread_safe (0.3.6)
77
- tzinfo (1.2.5)
78
- thread_safe (~> 0.1)
88
+ tzinfo (2.0.4)
89
+ concurrent-ruby (~> 1.0)
79
90
  webmock (3.4.2)
80
91
  addressable (>= 2.3.6)
81
92
  crack (>= 0.3.2)
82
93
  hashdiff
94
+ zeitwerk (2.4.2)
83
95
 
84
96
  PLATFORMS
85
97
  ruby
86
98
 
87
99
  DEPENDENCIES
88
- bundler (~> 1.16)
100
+ bundler (~> 2.2)
89
101
  omniauth-keycloak!
90
- rake (~> 10.0)
102
+ rake (~> 13.0)
91
103
  rspec (~> 3.0)
92
104
  simplecov (~> 0.16.1)
93
105
  webmock (~> 3.4.2)
94
106
 
95
107
  BUNDLED WITH
96
- 1.16.5
108
+ 2.2.17
data/README.md CHANGED
@@ -29,6 +29,47 @@ Rails.application.config.middleware.use OmniAuth::Builder do
29
29
  end
30
30
  ```
31
31
 
32
+ ## Devise Usage
33
+ Adapted from [Devise OmniAuth Instructions](https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview)
34
+
35
+ ```ruby
36
+ # app/models/user.rb
37
+ class User < ApplicationRecord
38
+ #...
39
+ devise :omniauthable, omniauth_providers: %i[keycloakopenid]
40
+ #...
41
+ end
42
+
43
+ # config/initializers/devise.rb
44
+ config.omniauth :keycloak_openid, "Example-Client-Name", "example-secret-if-configured", client_options: { site: "https://example.keycloak-url.com", realm: "example-realm" }, :strategy_class => OmniAuth::Strategies::KeycloakOpenId
45
+
46
+ # Below controller assumes callback route configuration following
47
+ # in config/routes.rb
48
+ Devise.setup do |config|
49
+ # ...
50
+ devise_for :users, controllers: { omniauth_callbacks: 'users/omniauth_callbacks' }
51
+ end
52
+
53
+ # app/controllers/users/omniauth_callbacks_controller.rb
54
+ class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
55
+ def keycloakopenid
56
+ Rails.logger.debug(request.env["omniauth.auth"])
57
+ @user = User.from_omniauth(request.env["omniauth.auth"])
58
+ if @user.persisted?
59
+ sign_in_and_redirect @user, event: :authentication
60
+ else
61
+ session["devise.keycloakopenid_data"] = request.env["omniauth.auth"]
62
+ redirect_to new_user_registration_url
63
+ end
64
+ end
65
+
66
+ def failure
67
+ redirect_to root_path
68
+ end
69
+ end
70
+
71
+ ```
72
+
32
73
  ## Contributing
33
74
 
34
75
  Bug reports and pull requests are welcome on GitHub at https://github.com/ccrockett/omniauth-keycloak. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
@@ -1,5 +1,5 @@
1
1
  module Omniauth
2
2
  module Keycloak
3
- VERSION = "1.0.1"
3
+ VERSION = "1.3.0"
4
4
  end
5
5
  end
@@ -1,44 +1,84 @@
1
1
  require 'omniauth'
2
2
  require 'omniauth-oauth2'
3
3
  require 'json/jwt'
4
+ require 'uri'
4
5
 
5
6
  module OmniAuth
6
7
  module Strategies
7
8
  class KeycloakOpenId < OmniAuth::Strategies::OAuth2
9
+
10
+ class Error < RuntimeError; end
11
+ class ConfigurationError < Error; end
12
+ class IntegrationError < Error; end
13
+
8
14
  attr_reader :authorize_url
9
15
  attr_reader :token_url
10
16
  attr_reader :cert
11
17
 
12
18
  def setup_phase
13
19
  if @authorize_url.nil? || @token_url.nil?
20
+ prevent_site_option_mistake
21
+
14
22
  realm = options.client_options[:realm].nil? ? options.client_id : options.client_options[:realm]
15
23
  site = options.client_options[:site]
16
- response = Faraday.get "#{options.client_options[:site]}/auth/realms/#{realm}/.well-known/openid-configuration"
24
+
25
+ raise_on_failure = options.client_options.fetch(:raise_on_failure, false)
26
+
27
+ config_url = URI.join(site, "/auth/realms/#{realm}/.well-known/openid-configuration")
28
+
29
+ log :debug, "Going to get Keycloak configuration. URL: #{config_url}"
30
+ response = Faraday.get config_url
17
31
  if (response.status == 200)
18
32
  json = MultiJson.load(response.body)
33
+
19
34
  @certs_endpoint = json["jwks_uri"]
20
35
  @userinfo_endpoint = json["userinfo_endpoint"]
21
- @authorize_url = json["authorization_endpoint"].gsub(site, "")
22
- @token_url = json["token_endpoint"].gsub(site, "")
36
+ @authorize_url = URI(json["authorization_endpoint"]).path
37
+ @token_url = URI(json["token_endpoint"]).path
38
+
39
+ log_config(json)
40
+
23
41
  options.client_options.merge!({
24
42
  authorize_url: @authorize_url,
25
43
  token_url: @token_url
26
- })
44
+ })
45
+ log :debug, "Going to get certificates. URL: #{@certs_endpoint}"
27
46
  certs = Faraday.get @certs_endpoint
28
47
  if (certs.status == 200)
29
48
  json = MultiJson.load(certs.body)
30
49
  @cert = json["keys"][0]
50
+ log :debug, "Successfully got certificate. Certificate length: #{@cert.length}"
31
51
  else
32
- #TODO: Throw Error
33
- puts "Couldn't get Cert"
34
- end
52
+ message = "Coundn't get certificate. URL: #{@certs_endpoint}"
53
+ log :error, message
54
+ raise IntegrationError, message if raise_on_failure
55
+ end
35
56
  else
36
- #TODO: Throw Error
37
- puts response.status
57
+ message = "Keycloak configuration request failed with status: #{response.status}. " \
58
+ "URL: #{config_url}"
59
+ log :error, message
60
+ raise IntegrationError, message if raise_on_failure
38
61
  end
39
62
  end
40
63
  end
41
-
64
+
65
+ def prevent_site_option_mistake
66
+ site = options.client_options[:site]
67
+ return unless site =~ /\/auth$/
68
+
69
+ raise ConfigurationError, "Keycloak site parameter should not include /auth part, only domain. Current value: #{site}"
70
+ end
71
+
72
+ def log_config(config_json)
73
+ log_keycloak_config = options.client_options.fetch(:log_keycloak_config, false)
74
+ log :debug, "Successfully got Keycloak config"
75
+ log :debug, "Keycloak config: #{config_json}" if log_keycloak_config
76
+ log :debug, "Certs endpoint: #{@certs_endpoint}"
77
+ log :debug, "Userinfo endpoint: #{@userinfo_endpoint}"
78
+ log :debug, "Authorize url: #{@authorize_url}"
79
+ log :debug, "Token url: #{@token_url}"
80
+ end
81
+
42
82
  def build_access_token
43
83
  verifier = request.params["code"]
44
84
  client.auth_code.get_token(verifier,
@@ -74,4 +114,4 @@ module OmniAuth
74
114
  OmniAuth.config.add_camelization('keycloak_openid', 'KeycloakOpenId')
75
115
  end
76
116
  end
77
- end
117
+ end
@@ -5,7 +5,7 @@ Gem::Specification.new do |spec|
5
5
  spec.authors = ["Cameron Crockett"]
6
6
  spec.email = ["cameron.crockett@ccrockett.com"]
7
7
 
8
- spec.description = %q{"Omniauth strategy for Keycloak"}
8
+ spec.description = %q{Omniauth strategy for Keycloak}
9
9
  spec.summary = spec.description
10
10
  spec.homepage = "https://github.com/ccrockett/omniauth-keycloak"
11
11
  spec.license = "MIT"
@@ -23,11 +23,12 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
 
25
25
 
26
- spec.add_dependency "omniauth", "~> 1.8.1"
27
- spec.add_dependency "omniauth-oauth2", "~> 1.5.0"
28
- spec.add_dependency "json-jwt", "~> 1.9.4"
29
- spec.add_development_dependency "bundler", "~> 1.16"
30
- spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_dependency "omniauth", "~> 2.0.4"
27
+ spec.add_dependency "omniauth-oauth2", "~> 1.7.1"
28
+ spec.add_dependency "json-jwt", "~> 1.13.0"
29
+
30
+ spec.add_development_dependency "bundler", "~> 2.2"
31
+ spec.add_development_dependency "rake", "~> 13.0"
31
32
  spec.add_development_dependency "rspec", "~> 3.0"
32
33
  spec.add_development_dependency 'simplecov', '~> 0.16.1'
33
34
  spec.add_development_dependency 'webmock', '~> 3.4.2'
@@ -33,7 +33,7 @@ RSpec.describe OmniAuth::Strategies::KeycloakOpenId do
33
33
  stub_request(:get, "http://localhost:8080/auth/realms/example-realm/protocol/openid-connect/certs")
34
34
  .to_return(status: 404, body: "", headers: {})
35
35
  OmniAuth::Strategies::KeycloakOpenId.new('keycloak-openid', 'Example-Client', 'b53c572b-9f3b-4e79-bf8b-f03c799ba6ec',
36
- client_options: {site: 'http://localhost:8080', realm: 'example-realm'})
36
+ client_options: {site: 'http://localhost:8080/', realm: 'example-realm'})
37
37
  end
38
38
 
39
39
  it 'should have the correct keycloak token url' do
@@ -46,4 +46,50 @@ RSpec.describe OmniAuth::Strategies::KeycloakOpenId do
46
46
  expect(subject.authorize_url).to eq('/auth/realms/example-realm/protocol/openid-connect/auth')
47
47
  end
48
48
  end
49
+
50
+ describe 'errors processing' do
51
+ context 'when site contains /auth part' do
52
+ subject do
53
+ OmniAuth::Strategies::KeycloakOpenId.new('keycloak-openid', 'Example-Client', 'b53c572b-9f3b-4e79-bf8b-f03c799ba6ec',
54
+ client_options: {site: 'http://localhost:8080/auth', realm: 'example-realm', raise_on_failure: true})
55
+ end
56
+
57
+ it 'raises Configuration Error' do
58
+ expect{ subject.setup_phase }
59
+ .to raise_error(OmniAuth::Strategies::KeycloakOpenId::ConfigurationError)
60
+ end
61
+ end
62
+
63
+ context 'when raise_on_failure option is true' do
64
+ context 'when openid configuration endpoint returns error response' do
65
+ subject do
66
+ stub_request(:get, "http://localhost:8080/auth/realms/example-realm/.well-known/openid-configuration")
67
+ .to_return(status: 404, body: "", headers: {})
68
+ OmniAuth::Strategies::KeycloakOpenId.new('keycloak-openid', 'Example-Client', 'b53c572b-9f3b-4e79-bf8b-f03c799ba6ec',
69
+ client_options: {site: 'http://localhost:8080', realm: 'example-realm', raise_on_failure: true})
70
+ end
71
+
72
+ it 'raises Integration Error' do
73
+ expect{ subject.setup_phase }
74
+ .to raise_error(OmniAuth::Strategies::KeycloakOpenId::IntegrationError)
75
+ end
76
+ end
77
+
78
+ context 'when certificates endpoint returns error response' do
79
+ subject do
80
+ stub_request(:get, "http://localhost:8080/auth/realms/example-realm/.well-known/openid-configuration")
81
+ .to_return(status: 200, body: body, headers: {})
82
+ stub_request(:get, "http://localhost:8080/auth/realms/example-realm/protocol/openid-connect/certs")
83
+ .to_return(status: 404, body: "", headers: {})
84
+ OmniAuth::Strategies::KeycloakOpenId.new('keycloak-openid', 'Example-Client', 'b53c572b-9f3b-4e79-bf8b-f03c799ba6ec',
85
+ client_options: {site: 'http://localhost:8080', realm: 'example-realm', raise_on_failure: true})
86
+ end
87
+
88
+ it 'raises Integration Error' do
89
+ expect{ subject.setup_phase }
90
+ .to raise_error(OmniAuth::Strategies::KeycloakOpenId::IntegrationError)
91
+ end
92
+ end
93
+ end
94
+ end
49
95
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-keycloak
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Crockett
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-16 00:00:00.000000000 Z
11
+ date: 2021-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.8.1
19
+ version: 2.0.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.8.1
26
+ version: 2.0.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: omniauth-oauth2
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.5.0
33
+ version: 1.7.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.5.0
40
+ version: 1.7.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: json-jwt
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.9.4
47
+ version: 1.13.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.9.4
54
+ version: 1.13.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.16'
61
+ version: '2.2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.16'
68
+ version: '2.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '10.0'
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '10.0'
82
+ version: '13.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +122,7 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 3.4.2
125
- description: '"Omniauth strategy for Keycloak"'
125
+ description: Omniauth strategy for Keycloak
126
126
  email:
127
127
  - cameron.crockett@ccrockett.com
128
128
  executables: []
@@ -133,6 +133,7 @@ files:
133
133
  - ".rspec"
134
134
  - ".travis.yml"
135
135
  - ".vscode/settings.json"
136
+ - CHANGELOG.md
136
137
  - CODE_OF_CONDUCT.md
137
138
  - Gemfile
138
139
  - Gemfile.lock
@@ -166,9 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
167
  - !ruby/object:Gem::Version
167
168
  version: 1.3.5
168
169
  requirements: []
169
- rubyforge_project:
170
- rubygems_version: 2.7.4
170
+ rubygems_version: 3.1.6
171
171
  signing_key:
172
172
  specification_version: 4
173
- summary: '"Omniauth strategy for Keycloak"'
173
+ summary: Omniauth strategy for Keycloak
174
174
  test_files: []