devise_saml_authenticatable 1.6.2 → 1.9.1

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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +6 -0
  3. data/.github/workflows/ci.yml +62 -0
  4. data/.gitignore +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +12 -2
  7. data/README.md +62 -26
  8. data/app/controllers/devise/saml_sessions_controller.rb +33 -27
  9. data/devise_saml_authenticatable.gemspec +2 -1
  10. data/lib/devise_saml_authenticatable/logger.rb +2 -2
  11. data/lib/devise_saml_authenticatable/model.rb +17 -3
  12. data/lib/devise_saml_authenticatable/saml_config.rb +28 -6
  13. data/lib/devise_saml_authenticatable/strategy.rb +23 -5
  14. data/lib/devise_saml_authenticatable/version.rb +1 -1
  15. data/lib/devise_saml_authenticatable.rb +16 -2
  16. data/spec/controllers/devise/saml_sessions_controller_spec.rb +205 -147
  17. data/spec/devise_saml_authenticatable/model_spec.rb +137 -19
  18. data/spec/devise_saml_authenticatable/saml_config_spec.rb +69 -22
  19. data/spec/devise_saml_authenticatable/strategy_spec.rb +58 -9
  20. data/spec/features/saml_authentication_spec.rb +19 -6
  21. data/spec/support/Gemfile.rails5.2 +2 -13
  22. data/spec/support/Gemfile.rails6 +18 -0
  23. data/spec/support/Gemfile.rails6.1 +24 -0
  24. data/spec/support/idp_settings_adapter.rb.erb +19 -9
  25. data/spec/support/idp_template.rb +5 -13
  26. data/spec/support/rails_app.rb +6 -7
  27. data/spec/support/ruby_saml_support.rb +10 -0
  28. data/spec/support/saml_idp_controller.rb.erb +1 -6
  29. data/spec/support/sp_template.rb +22 -19
  30. metadata +14 -12
  31. data/.travis.yml +0 -52
  32. data/spec/support/Gemfile.rails4 +0 -41
  33. data/spec/support/Gemfile.rails5 +0 -25
  34. data/spec/support/Gemfile.rails5.1 +0 -25
@@ -0,0 +1,18 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in devise_saml_authenticatable.gemspec
4
+ gemspec path: '../..'
5
+
6
+ group :test do
7
+ gem 'rake'
8
+ gem 'rspec', '~> 3.0'
9
+ gem 'rails', '~> 6.0.0'
10
+ gem 'rspec-rails', '~> 5.0'
11
+ gem 'sqlite3', '~> 1.4.0'
12
+ gem 'capybara'
13
+ gem 'selenium-webdriver'
14
+
15
+ if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new("3.0")
16
+ gem 'webrick'
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in devise_saml_authenticatable.gemspec
4
+ gemspec path: '../..'
5
+
6
+ group :test do
7
+ gem 'rake'
8
+ gem 'rspec', '~> 3.0'
9
+ gem 'rails', '~> 6.1.0'
10
+ gem 'rspec-rails', '~> 5.0'
11
+ gem 'sqlite3', '~> 1.4.0'
12
+ gem 'capybara'
13
+ gem 'selenium-webdriver'
14
+
15
+ if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new("3.0")
16
+ gem 'webrick'
17
+ end
18
+
19
+ if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new("3.1")
20
+ gem 'net-smtp', require: false
21
+ gem 'net-imap', require: false
22
+ gem 'net-pop', require: false
23
+ end
24
+ end
@@ -1,17 +1,27 @@
1
1
  class IdpSettingsAdapter
2
2
  def self.settings(idp_entity_id)
3
3
  if idp_entity_id == "http://localhost:8020/saml/metadata"
4
- {
5
- assertion_consumer_service_url: "http://localhost:8020/users/saml/auth",
6
- assertion_consumer_service_binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
7
- name_identifier_format: "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
8
- issuer: "sp_issuer",
9
- idp_entity_id: "http://localhost:8020/saml/metadata",
10
- authn_context: "",
4
+ base = {
5
+ assertion_consumer_service_url: "http://localhost:8020/users/saml/auth",
6
+ assertion_consumer_service_binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
7
+ name_identifier_format: "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
8
+ sp_entity_id: "sp_issuer",
9
+ idp_entity_id: "http://localhost:8020/saml/metadata",
10
+ authn_context: "",
11
+ idp_cert_fingerprint: "9E:65:2E:03:06:8D:80:F2:86:C7:6C:77:A1:D9:14:97:0A:4D:F4:4D"
12
+ }
13
+ if Gem::Version.new(OneLogin::RubySaml::VERSION) >= Gem::Version.new("1.12.0")
14
+ base.merge!(
15
+ idp_slo_service_url: "http://localhost:8010/saml/logout",
16
+ idp_sso_service_url: "http://localhost:8010/saml/auth",
17
+ )
18
+ else
19
+ base.merge!(
11
20
  idp_slo_target_url: "http://localhost:8010/saml/logout",
12
21
  idp_sso_target_url: "http://localhost:8010/saml/auth",
13
- idp_cert_fingerprint: "9E:65:2E:03:06:8D:80:F2:86:C7:6C:77:A1:D9:14:97:0A:4D:F4:4D"
14
- }
22
+ )
23
+ end
24
+ base
15
25
  else
16
26
  {}
17
27
  end
@@ -5,22 +5,14 @@
5
5
  @include_subject_in_attributes = ENV.fetch('INCLUDE_SUBJECT_IN_ATTRIBUTES')
6
6
  @valid_destination = ENV.fetch('VALID_DESTINATION', "true")
7
7
 
8
- if Rails::VERSION::MAJOR < 5 || (Rails::VERSION::MAJOR == 5 && Rails::VERSION::MINOR < 2)
9
- gsub_file 'config/secrets.yml', /secret_key_base:.*$/, 'secret_key_base: "34814fd41f91c493b89aa01ac73c44d241a31245b5bc5542fa4b7317525e1dcfa60ba947b3d085e4e229456fdee0d8af6aac6a63cf750d807ea6fe5d853dff4a"'
10
- end
11
-
12
- gem 'ruby-saml-idp', '~> 0.3.3'
8
+ gem 'stub_saml_idp'
13
9
  gem 'thin'
14
10
 
15
- insert_into_file('Gemfile', after: /\z/) {
16
- <<-GEMFILE
17
- # Lock down versions of gems for older versions of Ruby
18
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.1")
19
- gem 'devise', '~> 3.5'
20
- gem 'nokogiri', '~> 1.6.8'
11
+ if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new("3.1")
12
+ gem 'net-smtp', require: false
13
+ gem 'net-imap', require: false
14
+ gem 'net-pop', require: false
21
15
  end
22
- GEMFILE
23
- }
24
16
 
25
17
  route "get '/saml/auth' => 'saml_idp#new'"
26
18
  route "post '/saml/auth' => 'saml_idp#create'"
@@ -19,14 +19,13 @@ end
19
19
 
20
20
  def create_app(name, env = {})
21
21
  puts "[#{name}] Creating Rails app"
22
- rails_new_options = %w[-T -J -S --skip-spring --skip-listen --skip-bootsnap]
22
+ rails_new_options = %w[-A -G -C -T -J -S --skip-spring --skip-listen --skip-bootsnap --skip-action-mailbox --skip-jbuilder --skip-active-storage]
23
23
  rails_new_options << "-O" if name == "idp"
24
- with_clean_env do
25
- Dir.chdir(working_directory) do
26
- FileUtils.rm_rf(name)
27
- puts("rails _#{Rails.version}_ new #{name} #{rails_new_options.join(" ")} -m #{File.expand_path("../#{name}_template.rb", __FILE__)}")
28
- system(env, "rails", "_#{Rails.version}_", "new", name, *rails_new_options, "-m", File.expand_path("../#{name}_template.rb", __FILE__))
29
- end
24
+ env.merge!("RUBY_SAML_VERSION" => OneLogin::RubySaml::VERSION)
25
+ Dir.chdir(working_directory) do
26
+ FileUtils.rm_rf(name)
27
+ puts("[#{working_directory}] rails _#{Rails.version}_ new #{name} #{rails_new_options.join(" ")} -m #{File.expand_path("../#{name}_template.rb", __FILE__)}")
28
+ system(env, "rails", "_#{Rails.version}_", "new", name, *rails_new_options, "-m", File.expand_path("../#{name}_template.rb", __FILE__))
30
29
  end
31
30
  end
32
31
 
@@ -0,0 +1,10 @@
1
+ module RubySamlSupport
2
+ VERSION_1_12 = Gem::Version.new("1.12.0")
3
+ def with_ruby_saml_1_12_or_greater(body, args = {else_do: nil})
4
+ if Gem::Version.new(OneLogin::RubySaml::VERSION) >= VERSION_1_12
5
+ body.call
6
+ else
7
+ args[:else_do].call
8
+ end
9
+ end
10
+ end
@@ -1,4 +1,4 @@
1
- class SamlIdpController < SamlIdp::IdpController
1
+ class SamlIdpController < StubSamlIdp::IdpController
2
2
  def new
3
3
  if session[:user_id]
4
4
  @saml_response = idp_make_saml_response(session[:user_id])
@@ -79,13 +79,8 @@ class SamlIdpController < SamlIdp::IdpController
79
79
  end
80
80
 
81
81
  # == SLO functionality, see https://github.com/lawrencepit/ruby-saml-idp/pull/10
82
- <% if Rails::VERSION::MAJOR < 5 %>
83
- skip_before_filter :validate_saml_request, :only => [:logout, :sp_sign_out]
84
- before_filter :validate_saml_slo_request, :only => [:logout]
85
- <% else %>
86
82
  skip_before_action :validate_saml_request, :only => [:logout, :sp_sign_out]
87
83
  before_action :validate_saml_slo_request, :only => [:logout]
88
- <% end %>
89
84
 
90
85
  public
91
86
 
@@ -6,28 +6,20 @@ attribute_map_resolver = ENV.fetch("ATTRIBUTE_MAP_RESOLVER", "nil")
6
6
  saml_session_index_key = ENV.fetch('SAML_SESSION_INDEX_KEY', ":session_index")
7
7
  use_subject_to_authenticate = ENV.fetch('USE_SUBJECT_TO_AUTHENTICATE')
8
8
  idp_settings_adapter = ENV.fetch('IDP_SETTINGS_ADAPTER', "nil")
9
- idp_entity_id_reader = ENV.fetch('IDP_ENTITY_ID_READER', "DeviseSamlAuthenticatable::DefaultIdpEntityIdReader")
9
+ idp_entity_id_reader = ENV.fetch('IDP_ENTITY_ID_READER', '"DeviseSamlAuthenticatable::DefaultIdpEntityIdReader"')
10
10
  saml_failed_callback = ENV.fetch('SAML_FAILED_CALLBACK', "nil")
11
-
12
- if Rails::VERSION::MAJOR < 5 || (Rails::VERSION::MAJOR == 5 && Rails::VERSION::MINOR < 2)
13
- gsub_file 'config/secrets.yml', /secret_key_base:.*$/, 'secret_key_base: "8b5889df1fcf03f76c7d66da02d8776bcc85b06bed7d9c592f076d9c8a5455ee6d4beae45986c3c030b40208db5e612f2a6ef8283036a352e3fae83c5eda36be"'
14
- end
11
+ ruby_saml_version = ENV.fetch("RUBY_SAML_VERSION")
15
12
 
16
13
  gem 'devise_saml_authenticatable', path: File.expand_path("../../..", __FILE__)
17
- gem 'ruby-saml', OneLogin::RubySaml::VERSION
14
+ gem 'ruby-saml', ruby_saml_version
18
15
  gem 'thin'
19
16
 
20
- insert_into_file('Gemfile', after: /\z/) {
21
- <<-GEMFILE
22
- # Lock down versions of gems for older versions of Ruby
23
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.1")
24
- gem 'devise', '~> 3.5'
25
- gem 'nokogiri', '~> 1.6.8'
26
- elsif Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.4")
27
- gem 'responders', '~> 2.4'
17
+ if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new("3.1")
18
+ gem 'net-smtp', require: false
19
+ gem 'net-imap', require: false
20
+ gem 'net-pop', require: false
28
21
  end
29
- GEMFILE
30
- }
22
+
31
23
  if Rails::VERSION::MAJOR < 6
32
24
  # sqlite3 is hard-coded in Rails < 6 to v1.3.x
33
25
  gsub_file 'Gemfile', /^gem 'sqlite3'.*$/, "gem 'sqlite3', '~> 1.3.6'"
@@ -91,14 +83,25 @@ after_bundle do
91
83
 
92
84
  config.saml_configure do |settings|
93
85
  settings.assertion_consumer_service_url = "http://localhost:8020/users/saml/auth"
94
- settings.issuer = "http://localhost:8020/saml/metadata"
95
- settings.idp_slo_target_url = "http://localhost:8009/saml/logout"
96
- settings.idp_sso_target_url = "http://localhost:8009/saml/auth"
86
+ settings.sp_entity_id = "http://localhost:8020/saml/metadata"
97
87
  settings.idp_cert_fingerprint = "9E:65:2E:03:06:8D:80:F2:86:C7:6C:77:A1:D9:14:97:0A:4D:F4:4D"
98
88
  settings.name_identifier_format = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
99
89
  end
100
90
  end
101
91
  CONFIG
92
+ if Gem::Version.new(ruby_saml_version) >= Gem::Version.new("1.12.0")
93
+ gsub_file 'config/initializers/devise.rb', /^ config\.saml_configure do \|settings\|$/, <<CONFIG
94
+ config.saml_configure do |settings|
95
+ settings.idp_slo_service_url = "http://localhost:8009/saml/logout"
96
+ settings.idp_sso_service_url = "http://localhost:8009/saml/auth"
97
+ CONFIG
98
+ else
99
+ gsub_file 'config/initializers/devise.rb', /^ config\.saml_configure do \|settings\|$/, <<CONFIG
100
+ config.saml_configure do |settings|
101
+ settings.idp_slo_target_url = "http://localhost:8009/saml/logout"
102
+ settings.idp_sso_target_url = "http://localhost:8009/saml/auth"
103
+ CONFIG
104
+ end
102
105
 
103
106
  generate :controller, 'home', 'index'
104
107
  insert_into_file('app/controllers/home_controller.rb', after: "class HomeController < ApplicationController\n") {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_saml_authenticatable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.2
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josef Sauter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-28 00:00:00.000000000 Z
11
+ date: 2023-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise
@@ -45,9 +45,11 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
+ - ".github/dependabot.yml"
49
+ - ".github/workflows/ci.yml"
48
50
  - ".gitignore"
49
51
  - ".rspec"
50
- - ".travis.yml"
52
+ - ".ruby-version"
51
53
  - Gemfile
52
54
  - LICENSE
53
55
  - README.md
@@ -78,20 +80,20 @@ files:
78
80
  - spec/rails_helper.rb
79
81
  - spec/routes/routes_spec.rb
80
82
  - spec/spec_helper.rb
81
- - spec/support/Gemfile.rails4
82
- - spec/support/Gemfile.rails5
83
- - spec/support/Gemfile.rails5.1
84
83
  - spec/support/Gemfile.rails5.2
84
+ - spec/support/Gemfile.rails6
85
+ - spec/support/Gemfile.rails6.1
85
86
  - spec/support/attribute-map.yml
86
87
  - spec/support/attribute_map_resolver.rb.erb
87
88
  - spec/support/idp_settings_adapter.rb.erb
88
89
  - spec/support/idp_template.rb
89
90
  - spec/support/rails_app.rb
90
91
  - spec/support/response_encrypted_nameid.xml.base64
92
+ - spec/support/ruby_saml_support.rb
91
93
  - spec/support/saml_idp-saml_slo_post.html.erb
92
94
  - spec/support/saml_idp_controller.rb.erb
93
95
  - spec/support/sp_template.rb
94
- homepage: ''
96
+ homepage: https://github.com/apokalipto/devise_saml_authenticatable
95
97
  licenses:
96
98
  - MIT
97
99
  metadata: {}
@@ -103,14 +105,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
105
  requirements:
104
106
  - - ">="
105
107
  - !ruby/object:Gem::Version
106
- version: '0'
108
+ version: 2.6.0
107
109
  required_rubygems_version: !ruby/object:Gem::Requirement
108
110
  requirements:
109
111
  - - ">="
110
112
  - !ruby/object:Gem::Version
111
113
  version: '0'
112
114
  requirements: []
113
- rubygems_version: 3.0.3
115
+ rubygems_version: 3.4.1
114
116
  signing_key:
115
117
  specification_version: 4
116
118
  summary: SAML Authentication for devise
@@ -126,16 +128,16 @@ test_files:
126
128
  - spec/rails_helper.rb
127
129
  - spec/routes/routes_spec.rb
128
130
  - spec/spec_helper.rb
129
- - spec/support/Gemfile.rails4
130
- - spec/support/Gemfile.rails5
131
- - spec/support/Gemfile.rails5.1
132
131
  - spec/support/Gemfile.rails5.2
132
+ - spec/support/Gemfile.rails6
133
+ - spec/support/Gemfile.rails6.1
133
134
  - spec/support/attribute-map.yml
134
135
  - spec/support/attribute_map_resolver.rb.erb
135
136
  - spec/support/idp_settings_adapter.rb.erb
136
137
  - spec/support/idp_template.rb
137
138
  - spec/support/rails_app.rb
138
139
  - spec/support/response_encrypted_nameid.xml.base64
140
+ - spec/support/ruby_saml_support.rb
139
141
  - spec/support/saml_idp-saml_slo_post.html.erb
140
142
  - spec/support/saml_idp_controller.rb.erb
141
143
  - spec/support/sp_template.rb
data/.travis.yml DELETED
@@ -1,52 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - "2.0.0"
4
- - "2.1.10"
5
- - "2.2.10"
6
- - "2.3.8"
7
- - "2.4.10"
8
- - "2.5.8"
9
- - "2.6.6"
10
- - "2.7.1"
11
- gemfile:
12
- - Gemfile
13
- - spec/support/Gemfile.rails5.2
14
- - spec/support/Gemfile.rails5.1
15
- - spec/support/Gemfile.rails5
16
- - spec/support/Gemfile.rails4
17
- matrix:
18
- allow_failures:
19
- - rvm: "2.0.0"
20
- gemfile: Gemfile
21
- - rvm: "2.0.0"
22
- gemfile: spec/support/Gemfile.rails5
23
- - rvm: "2.0.0"
24
- gemfile: spec/support/Gemfile.rails5.1
25
- - rvm: "2.0.0"
26
- gemfile: spec/support/Gemfile.rails5.2
27
- - rvm: "2.1.10"
28
- gemfile: Gemfile
29
- - rvm: "2.1.10"
30
- gemfile: spec/support/Gemfile.rails5
31
- - rvm: "2.1.10"
32
- gemfile: spec/support/Gemfile.rails5.1
33
- - rvm: "2.1.10"
34
- gemfile: spec/support/Gemfile.rails5.2
35
- - rvm: "2.2.10"
36
- gemfile: Gemfile
37
- - rvm: "2.2.10"
38
- gemfile: spec/support/Gemfile.rails5.2
39
- - rvm: "2.3.8"
40
- gemfile: Gemfile
41
- - rvm: "2.4.10"
42
- gemfile: Gemfile
43
- - rvm: "2.6.6"
44
- gemfile: spec/support/Gemfile.rails4
45
- - rvm: "2.7.1"
46
- gemfile: spec/support/Gemfile.rails4
47
-
48
- before_install:
49
- - command -v bundle || gem install bundler -v '~> 1.17.3'
50
-
51
- script:
52
- - bundle exec rake
@@ -1,41 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in devise_saml_authenticatable.gemspec
4
- gemspec path: '../..'
5
-
6
- group :test do
7
- gem 'rspec', '~> 3.0'
8
- gem 'rails', '~> 4.0'
9
- gem 'rspec-rails', '~> 3.9'
10
- gem 'sqlite3', '~> 1.3.6'
11
- gem 'capybara'
12
- gem 'poltergeist'
13
-
14
- # Lock down versions of gems for older versions of Ruby
15
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.1")
16
- gem 'rake', '~> 12.2'
17
- else
18
- gem 'rake'
19
- end
20
-
21
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.1")
22
- gem 'devise', '~> 3.5'
23
- gem 'minitest', '~> 5.11.0'
24
- gem 'nokogiri', '~> 1.6.8'
25
- gem 'public_suffix', '~> 2.0.5'
26
- end
27
-
28
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.1")
29
- gem 'responders', '~> 1.0'
30
- elsif Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.4")
31
- gem 'responders', '~> 2.0'
32
- end
33
-
34
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.2")
35
- gem 'byebug', '~> 9.0'
36
- elsif Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.3")
37
- gem 'byebug', '~> 10.0'
38
- elsif Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.4")
39
- gem 'byebug', '~> 11.0.0'
40
- end
41
- end
@@ -1,25 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in devise_saml_authenticatable.gemspec
4
- gemspec path: '../..'
5
-
6
- group :test do
7
- gem 'rake'
8
- gem 'rspec', '~> 3.0'
9
- gem 'rails', '~> 5.0.0'
10
- gem 'rspec-rails', '~> 3.9'
11
- gem 'sqlite3', '~> 1.3.6'
12
- gem 'capybara'
13
- gem 'poltergeist'
14
-
15
- # Lock down versions of gems for older versions of Ruby
16
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.4")
17
- gem 'responders', '~> 2.4'
18
- end
19
-
20
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.3")
21
- gem 'byebug', '~> 10.0'
22
- elsif Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.4")
23
- gem 'byebug', '~> 11.0.0'
24
- end
25
- end
@@ -1,25 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in devise_saml_authenticatable.gemspec
4
- gemspec path: '../..'
5
-
6
- group :test do
7
- gem 'rake'
8
- gem 'rspec', '~> 3.0'
9
- gem 'rails', '~> 5.1.0'
10
- gem 'rspec-rails', '~> 3.9'
11
- gem 'sqlite3', '~> 1.3.6'
12
- gem 'capybara'
13
- gem 'poltergeist'
14
-
15
- # Lock down versions of gems for older versions of Ruby
16
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.4")
17
- gem 'responders', '~> 2.4'
18
- end
19
-
20
- if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.3")
21
- gem 'byebug', '~> 10.0'
22
- elsif Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new("2.4")
23
- gem 'byebug', '~> 11.0.0'
24
- end
25
- end