google_sign_in 1.2.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.

Potentially problematic release.


This version of google_sign_in might be problematic. Click here for more details.

Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -1
  3. data/app/controllers/google_sign_in/base_controller.rb +1 -8
  4. data/app/controllers/google_sign_in/callbacks_controller.rb +7 -0
  5. data/lib/google_sign_in/engine.rb +12 -1
  6. data/lib/google_sign_in/redirect_protector.rb +5 -2
  7. data/lib/google_sign_in.rb +15 -1
  8. metadata +7 -201
  9. data/.gitignore +0 -13
  10. data/.travis.yml +0 -16
  11. data/CHANGELOG.md +0 -3
  12. data/Gemfile +0 -6
  13. data/Gemfile.lock +0 -178
  14. data/Rakefile +0 -40
  15. data/bin/rails +0 -16
  16. data/google_sign_in.gemspec +0 -22
  17. data/test/certificate.pem +0 -19
  18. data/test/controllers/authorizations_controller_test.rb +0 -26
  19. data/test/controllers/callbacks_controller_test.rb +0 -133
  20. data/test/dummy/.ruby-version +0 -1
  21. data/test/dummy/Rakefile +0 -6
  22. data/test/dummy/app/assets/config/manifest.js +0 -3
  23. data/test/dummy/app/assets/images/.keep +0 -0
  24. data/test/dummy/app/assets/javascripts/application.js +0 -15
  25. data/test/dummy/app/assets/javascripts/cable.js +0 -13
  26. data/test/dummy/app/assets/javascripts/channels/.keep +0 -0
  27. data/test/dummy/app/assets/stylesheets/application.css +0 -15
  28. data/test/dummy/app/channels/application_cable/channel.rb +0 -4
  29. data/test/dummy/app/channels/application_cable/connection.rb +0 -4
  30. data/test/dummy/app/controllers/application_controller.rb +0 -2
  31. data/test/dummy/app/controllers/concerns/.keep +0 -0
  32. data/test/dummy/app/helpers/application_helper.rb +0 -2
  33. data/test/dummy/app/jobs/application_job.rb +0 -2
  34. data/test/dummy/app/mailers/application_mailer.rb +0 -4
  35. data/test/dummy/app/models/application_record.rb +0 -3
  36. data/test/dummy/app/models/concerns/.keep +0 -0
  37. data/test/dummy/app/views/layouts/application.html.erb +0 -15
  38. data/test/dummy/app/views/layouts/mailer.html.erb +0 -13
  39. data/test/dummy/app/views/layouts/mailer.text.erb +0 -1
  40. data/test/dummy/bin/bundle +0 -3
  41. data/test/dummy/bin/rails +0 -4
  42. data/test/dummy/bin/rake +0 -4
  43. data/test/dummy/bin/setup +0 -36
  44. data/test/dummy/bin/update +0 -31
  45. data/test/dummy/bin/yarn +0 -11
  46. data/test/dummy/config/application.rb +0 -20
  47. data/test/dummy/config/boot.rb +0 -5
  48. data/test/dummy/config/cable.yml +0 -10
  49. data/test/dummy/config/database.yml +0 -25
  50. data/test/dummy/config/environment.rb +0 -5
  51. data/test/dummy/config/environments/development.rb +0 -32
  52. data/test/dummy/config/environments/production.rb +0 -57
  53. data/test/dummy/config/environments/test.rb +0 -33
  54. data/test/dummy/config/initializers/application_controller_renderer.rb +0 -8
  55. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  56. data/test/dummy/config/initializers/content_security_policy.rb +0 -25
  57. data/test/dummy/config/initializers/cookies_serializer.rb +0 -5
  58. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  59. data/test/dummy/config/initializers/google_sign_in.rb +0 -4
  60. data/test/dummy/config/initializers/inflections.rb +0 -16
  61. data/test/dummy/config/initializers/mime_types.rb +0 -4
  62. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  63. data/test/dummy/config/locales/en.yml +0 -33
  64. data/test/dummy/config/puma.rb +0 -34
  65. data/test/dummy/config/routes.rb +0 -2
  66. data/test/dummy/config/spring.rb +0 -6
  67. data/test/dummy/config/storage.yml +0 -34
  68. data/test/dummy/config.ru +0 -5
  69. data/test/dummy/db/test.sqlite3 +0 -0
  70. data/test/dummy/lib/assets/.keep +0 -0
  71. data/test/dummy/log/.keep +0 -0
  72. data/test/dummy/package.json +0 -5
  73. data/test/dummy/public/404.html +0 -67
  74. data/test/dummy/public/422.html +0 -67
  75. data/test/dummy/public/500.html +0 -66
  76. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  77. data/test/dummy/public/apple-touch-icon.png +0 -0
  78. data/test/dummy/public/favicon.ico +0 -0
  79. data/test/dummy/storage/.keep +0 -0
  80. data/test/dummy/tmp/.keep +0 -0
  81. data/test/dummy/tmp/storage/.keep +0 -0
  82. data/test/helpers/button_helper_test.rb +0 -33
  83. data/test/key.pem +0 -27
  84. data/test/models/identity_test.rb +0 -88
  85. data/test/models/redirect_protector_test.rb +0 -40
  86. data/test/test_helper.rb +0 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07ffe2df555e62583212eeed44495dad288e37609a46c4eb1f4717aedb11f4c9
4
- data.tar.gz: b4eff8b60ac9cfdb32c835bf0780722f87fb34cfd4b0673a57bdfe4708841569
3
+ metadata.gz: 16eb49d978d32c5adbbf335592b9e79c21c3190ac7c84a20c178de66a6e78ace
4
+ data.tar.gz: d4b2e3f1e01fc1b2087f47014fd52b8922176c679a799327024fbf98c43651e4
5
5
  SHA512:
6
- metadata.gz: 5fd9e9b40717cf051753ec5bf737281d33f0e3ba6914fbd364e9c8c1d316c9a21a8d0cdead93df94e1a674aa6d6774e3ec9608b6427e56e70021d6da199a7f79
7
- data.tar.gz: 10c98f8dbb827cfeca28f59b9857d86bb5e6f3f0122e4f1b5dc64c4b29b663b2d01520893d41a18af94bf6cc6cc6e5d83e476be5554f27b08450f382e3f7a16e
6
+ metadata.gz: '0389d4328829b546676d7ce5f228ab87d0d1db25abfb1a616b8232b9233d7766520f517c276b933e302e88eaddaf805e7ccb7c36af05a1a328f885f5c563e234'
7
+ data.tar.gz: 363d2af3de4f85988a605cfd3ca5ff63b247a572d9d4bf6b6c8e9097f1c00892f8a421b86c710b2cfd6625b716d161cc93c57a375795dc1a05df96509329696b
data/README.md CHANGED
@@ -77,7 +77,7 @@ Which would make the callback `/my_own/google_sign_in_route/callback`.
77
77
 
78
78
  ## Usage
79
79
 
80
- This gem provides a `google_sign_in_button` helper. It generates a button which initiates Google sign-in:
80
+ This gem provides a `google_sign_in_button` helper to generate a button that initiates Google sign-in:
81
81
 
82
82
  ```erb
83
83
  <%= google_sign_in_button 'Sign in with my Google account', proceed_to: create_login_url %>
@@ -89,6 +89,15 @@ This gem provides a `google_sign_in_button` helper. It generates a button which
89
89
  <% end %>
90
90
  ```
91
91
 
92
+ When using with Hotwire and Turbo, add the "turbo=false" HTML data attribute to the button to
93
+ prevent Turbo from executing it asynchonously. For example:
94
+
95
+ ```erb
96
+ <%= google_sign_in_button 'Sign in with my Google account',
97
+ proceed_to: create_login_url,
98
+ data: { turbo: "false" } %>
99
+ ```
100
+
92
101
  The `proceed_to` argument is required. After authenticating with Google, the gem redirects to `proceed_to`, providing
93
102
  a Google ID token in `flash[:google_sign_in][:id_token]` or an [OAuth authorizaton code grant error](https://tools.ietf.org/html/rfc6749#section-4.1.2.1)
94
103
  in `flash[:google_sign_in][:error]`. Your application decides what to do with it:
@@ -170,6 +179,20 @@ For information on our security response procedure, see [SECURITY.md](SECURITY.m
170
179
 
171
180
  Short of patching critical security issues, this gem is now considered done, and will not see any further feature development or minor bug fixes. Feel free to fork this work under the MIT license and continue the feature development under a different name.
172
181
 
182
+ ## Development
183
+
184
+ To set up dependencies locally:
185
+
186
+ ``` sh
187
+ bin/setup
188
+ ```
189
+
190
+ To run the tests against multiple versions of Rails:
191
+
192
+ ``` sh
193
+ bin/test
194
+ ```
195
+
173
196
  ## License
174
197
 
175
198
  Google Sign-In for Rails is released under the [MIT License](https://opensource.org/licenses/MIT).
@@ -1,15 +1,8 @@
1
- require 'oauth2'
2
-
3
1
  class GoogleSignIn::BaseController < ActionController::Base
4
2
  protect_from_forgery with: :exception
5
3
 
6
4
  private
7
5
  def client
8
- @client ||= OAuth2::Client.new \
9
- GoogleSignIn.client_id,
10
- GoogleSignIn.client_secret,
11
- authorize_url: 'https://accounts.google.com/o/oauth2/auth',
12
- token_url: 'https://oauth2.googleapis.com/token',
13
- redirect_uri: callback_url
6
+ @client ||= GoogleSignIn.oauth2_client(redirect_uri: callback_url)
14
7
  end
15
8
  end
@@ -3,6 +3,7 @@ require 'google_sign_in/redirect_protector'
3
3
  class GoogleSignIn::CallbacksController < GoogleSignIn::BaseController
4
4
  def show
5
5
  redirect_to proceed_to_url, flash: { google_sign_in: google_sign_in_response }
6
+ clear_redeemed_flash_keys if valid_request?
6
7
  rescue GoogleSignIn::RedirectProtector::Violation => error
7
8
  logger.error error.message
8
9
  head :bad_request
@@ -34,4 +35,10 @@ class GoogleSignIn::CallbacksController < GoogleSignIn::BaseController
34
35
  def error_message_for(error_code)
35
36
  error_code.presence_in(GoogleSignIn::OAUTH2_ERRORS) || "invalid_request"
36
37
  end
38
+
39
+ # Clear keys we don't need anymore to reduce the session size.
40
+ def clear_redeemed_flash_keys
41
+ flash.delete(:proceed_to)
42
+ flash.delete(:state)
43
+ end
37
44
  end
@@ -1,15 +1,26 @@
1
1
  require 'rails/engine'
2
+ require 'google_sign_in' unless defined?(GoogleSignIn)
2
3
 
3
4
  module GoogleSignIn
4
5
  class Engine < ::Rails::Engine
5
6
  isolate_namespace GoogleSignIn
6
7
 
7
- config.google_sign_in = ActiveSupport::OrderedOptions.new
8
+ # Set default config so apps can modify rather than starting from nil, e.g.
9
+ #
10
+ # config.google_sign_in.authorize_url += "?disallow_webview=true"
11
+ #
12
+ config.google_sign_in = ActiveSupport::OrderedOptions.new.update \
13
+ authorize_url: GoogleSignIn.authorize_url,
14
+ token_url: GoogleSignIn.token_url
8
15
 
9
16
  initializer 'google_sign_in.config' do |app|
10
17
  config.after_initialize do
11
18
  GoogleSignIn.client_id = config.google_sign_in.client_id || app.credentials.dig(:google_sign_in, :client_id)
12
19
  GoogleSignIn.client_secret = config.google_sign_in.client_secret || app.credentials.dig(:google_sign_in, :client_secret)
20
+ GoogleSignIn.authorize_url = config.google_sign_in.authorize_url
21
+ GoogleSignIn.token_url = config.google_sign_in.token_url
22
+
23
+ GoogleSignIn.oauth2_client_options = config.google_sign_in.oauth2_client_options
13
24
  end
14
25
  end
15
26
 
@@ -9,9 +9,12 @@ module GoogleSignIn
9
9
  QUALIFIED_URL_PATTERN = /\A#{URI::DEFAULT_PARSER.make_regexp}\z/
10
10
 
11
11
  def ensure_same_origin(target, source)
12
- if target.blank? || (target =~ QUALIFIED_URL_PATTERN && origin_of(target) != origin_of(source))
13
- raise Violation, "Redirect target #{target.inspect} does not have same origin as request (expected #{origin_of(source)})"
12
+ if (target =~ QUALIFIED_URL_PATTERN && origin_of(target) == origin_of(source)) ||
13
+ target =~ URI::DEFAULT_PARSER.regexp[:ABS_PATH]
14
+ return
14
15
  end
16
+
17
+ raise Violation, "Redirect target #{target.inspect} does not have same origin as request (expected #{origin_of(source)})"
15
18
  end
16
19
 
17
20
  private
@@ -1,9 +1,13 @@
1
1
  require 'active_support'
2
2
  require 'active_support/rails'
3
+ require 'oauth2'
3
4
 
4
5
  module GoogleSignIn
5
6
  mattr_accessor :client_id
6
7
  mattr_accessor :client_secret
8
+ mattr_accessor :authorize_url, default: "https://accounts.google.com/o/oauth2/auth"
9
+ mattr_accessor :token_url, default: "https://oauth2.googleapis.com/token"
10
+ mattr_accessor :oauth2_client_options, default: nil
7
11
 
8
12
  # https://tools.ietf.org/html/rfc6749#section-4.1.2.1
9
13
  authorization_request_errors = %w[
@@ -29,7 +33,17 @@ module GoogleSignIn
29
33
  # Authorization Code Grant errors from both authorization requests
30
34
  # and access token requests.
31
35
  OAUTH2_ERRORS = authorization_request_errors | access_token_request_errors
36
+
37
+ def self.oauth2_client(redirect_uri:)
38
+ OAuth2::Client.new \
39
+ GoogleSignIn.client_id,
40
+ GoogleSignIn.client_secret,
41
+ authorize_url: GoogleSignIn.authorize_url,
42
+ token_url: GoogleSignIn.token_url,
43
+ redirect_uri: redirect_uri,
44
+ **GoogleSignIn.oauth2_client_options.to_h
45
+ end
32
46
  end
33
47
 
34
48
  require 'google_sign_in/identity'
35
- require 'google_sign_in/engine' if defined?(Rails)
49
+ require 'google_sign_in/engine' if defined?(Rails) && !defined?(GoogleSignIn::Engine)
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_sign_in
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  - George Claghorn
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2021-12-06 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
@@ -17,14 +16,14 @@ dependencies:
17
16
  requirements:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: 5.2.0
19
+ version: 6.1.0
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: 5.2.0
26
+ version: 6.1.0
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: google-id-token
30
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,49 +52,6 @@ dependencies:
53
52
  - - ">="
54
53
  - !ruby/object:Gem::Version
55
54
  version: 1.4.0
56
- - !ruby/object:Gem::Dependency
57
- name: bundler
58
- requirement: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - "~>"
61
- - !ruby/object:Gem::Version
62
- version: '1.15'
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - "~>"
68
- - !ruby/object:Gem::Version
69
- version: '1.15'
70
- - !ruby/object:Gem::Dependency
71
- name: jwt
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: 1.5.6
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: 1.5.6
84
- - !ruby/object:Gem::Dependency
85
- name: webmock
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 3.4.2
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: 3.4.2
98
- description:
99
55
  email:
100
56
  - david@basecamp.com
101
57
  - george@basecamp.com
@@ -103,101 +59,22 @@ executables: []
103
59
  extensions: []
104
60
  extra_rdoc_files: []
105
61
  files:
106
- - ".gitignore"
107
- - ".travis.yml"
108
- - CHANGELOG.md
109
- - Gemfile
110
- - Gemfile.lock
111
62
  - MIT-LICENSE
112
63
  - README.md
113
- - Rakefile
114
64
  - SECURITY.md
115
65
  - app/controllers/google_sign_in/authorizations_controller.rb
116
66
  - app/controllers/google_sign_in/base_controller.rb
117
67
  - app/controllers/google_sign_in/callbacks_controller.rb
118
68
  - app/helpers/google_sign_in/button_helper.rb
119
- - bin/rails
120
69
  - config/routes.rb
121
- - google_sign_in.gemspec
122
70
  - lib/google_sign_in.rb
123
71
  - lib/google_sign_in/engine.rb
124
72
  - lib/google_sign_in/identity.rb
125
73
  - lib/google_sign_in/redirect_protector.rb
126
- - test/certificate.pem
127
- - test/controllers/authorizations_controller_test.rb
128
- - test/controllers/callbacks_controller_test.rb
129
- - test/dummy/.ruby-version
130
- - test/dummy/Rakefile
131
- - test/dummy/app/assets/config/manifest.js
132
- - test/dummy/app/assets/images/.keep
133
- - test/dummy/app/assets/javascripts/application.js
134
- - test/dummy/app/assets/javascripts/cable.js
135
- - test/dummy/app/assets/javascripts/channels/.keep
136
- - test/dummy/app/assets/stylesheets/application.css
137
- - test/dummy/app/channels/application_cable/channel.rb
138
- - test/dummy/app/channels/application_cable/connection.rb
139
- - test/dummy/app/controllers/application_controller.rb
140
- - test/dummy/app/controllers/concerns/.keep
141
- - test/dummy/app/helpers/application_helper.rb
142
- - test/dummy/app/jobs/application_job.rb
143
- - test/dummy/app/mailers/application_mailer.rb
144
- - test/dummy/app/models/application_record.rb
145
- - test/dummy/app/models/concerns/.keep
146
- - test/dummy/app/views/layouts/application.html.erb
147
- - test/dummy/app/views/layouts/mailer.html.erb
148
- - test/dummy/app/views/layouts/mailer.text.erb
149
- - test/dummy/bin/bundle
150
- - test/dummy/bin/rails
151
- - test/dummy/bin/rake
152
- - test/dummy/bin/setup
153
- - test/dummy/bin/update
154
- - test/dummy/bin/yarn
155
- - test/dummy/config.ru
156
- - test/dummy/config/application.rb
157
- - test/dummy/config/boot.rb
158
- - test/dummy/config/cable.yml
159
- - test/dummy/config/database.yml
160
- - test/dummy/config/environment.rb
161
- - test/dummy/config/environments/development.rb
162
- - test/dummy/config/environments/production.rb
163
- - test/dummy/config/environments/test.rb
164
- - test/dummy/config/initializers/application_controller_renderer.rb
165
- - test/dummy/config/initializers/backtrace_silencers.rb
166
- - test/dummy/config/initializers/content_security_policy.rb
167
- - test/dummy/config/initializers/cookies_serializer.rb
168
- - test/dummy/config/initializers/filter_parameter_logging.rb
169
- - test/dummy/config/initializers/google_sign_in.rb
170
- - test/dummy/config/initializers/inflections.rb
171
- - test/dummy/config/initializers/mime_types.rb
172
- - test/dummy/config/initializers/wrap_parameters.rb
173
- - test/dummy/config/locales/en.yml
174
- - test/dummy/config/puma.rb
175
- - test/dummy/config/routes.rb
176
- - test/dummy/config/spring.rb
177
- - test/dummy/config/storage.yml
178
- - test/dummy/db/test.sqlite3
179
- - test/dummy/lib/assets/.keep
180
- - test/dummy/log/.keep
181
- - test/dummy/package.json
182
- - test/dummy/public/404.html
183
- - test/dummy/public/422.html
184
- - test/dummy/public/500.html
185
- - test/dummy/public/apple-touch-icon-precomposed.png
186
- - test/dummy/public/apple-touch-icon.png
187
- - test/dummy/public/favicon.ico
188
- - test/dummy/storage/.keep
189
- - test/dummy/tmp/.keep
190
- - test/dummy/tmp/storage/.keep
191
- - test/helpers/button_helper_test.rb
192
- - test/key.pem
193
- - test/models/identity_test.rb
194
- - test/models/redirect_protector_test.rb
195
- - test/test_helper.rb
196
74
  homepage: https://github.com/basecamp/google_sign_in
197
75
  licenses:
198
76
  - MIT
199
77
  metadata: {}
200
- post_install_message:
201
78
  rdoc_options: []
202
79
  require_paths:
203
80
  - lib
@@ -205,85 +82,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
82
  requirements:
206
83
  - - ">="
207
84
  - !ruby/object:Gem::Version
208
- version: 1.9.3
85
+ version: 2.5.0
209
86
  required_rubygems_version: !ruby/object:Gem::Requirement
210
87
  requirements:
211
88
  - - ">="
212
89
  - !ruby/object:Gem::Version
213
90
  version: '0'
214
91
  requirements: []
215
- rubygems_version: 3.2.22
216
- signing_key:
92
+ rubygems_version: 3.6.9
217
93
  specification_version: 4
218
94
  summary: Sign in (or up) with Google for Rails applications
219
- test_files:
220
- - test/certificate.pem
221
- - test/controllers/authorizations_controller_test.rb
222
- - test/controllers/callbacks_controller_test.rb
223
- - test/dummy/.ruby-version
224
- - test/dummy/Rakefile
225
- - test/dummy/app/assets/config/manifest.js
226
- - test/dummy/app/assets/images/.keep
227
- - test/dummy/app/assets/javascripts/application.js
228
- - test/dummy/app/assets/javascripts/cable.js
229
- - test/dummy/app/assets/javascripts/channels/.keep
230
- - test/dummy/app/assets/stylesheets/application.css
231
- - test/dummy/app/channels/application_cable/channel.rb
232
- - test/dummy/app/channels/application_cable/connection.rb
233
- - test/dummy/app/controllers/application_controller.rb
234
- - test/dummy/app/controllers/concerns/.keep
235
- - test/dummy/app/helpers/application_helper.rb
236
- - test/dummy/app/jobs/application_job.rb
237
- - test/dummy/app/mailers/application_mailer.rb
238
- - test/dummy/app/models/application_record.rb
239
- - test/dummy/app/models/concerns/.keep
240
- - test/dummy/app/views/layouts/application.html.erb
241
- - test/dummy/app/views/layouts/mailer.html.erb
242
- - test/dummy/app/views/layouts/mailer.text.erb
243
- - test/dummy/bin/bundle
244
- - test/dummy/bin/rails
245
- - test/dummy/bin/rake
246
- - test/dummy/bin/setup
247
- - test/dummy/bin/update
248
- - test/dummy/bin/yarn
249
- - test/dummy/config.ru
250
- - test/dummy/config/application.rb
251
- - test/dummy/config/boot.rb
252
- - test/dummy/config/cable.yml
253
- - test/dummy/config/database.yml
254
- - test/dummy/config/environment.rb
255
- - test/dummy/config/environments/development.rb
256
- - test/dummy/config/environments/production.rb
257
- - test/dummy/config/environments/test.rb
258
- - test/dummy/config/initializers/application_controller_renderer.rb
259
- - test/dummy/config/initializers/backtrace_silencers.rb
260
- - test/dummy/config/initializers/content_security_policy.rb
261
- - test/dummy/config/initializers/cookies_serializer.rb
262
- - test/dummy/config/initializers/filter_parameter_logging.rb
263
- - test/dummy/config/initializers/google_sign_in.rb
264
- - test/dummy/config/initializers/inflections.rb
265
- - test/dummy/config/initializers/mime_types.rb
266
- - test/dummy/config/initializers/wrap_parameters.rb
267
- - test/dummy/config/locales/en.yml
268
- - test/dummy/config/puma.rb
269
- - test/dummy/config/routes.rb
270
- - test/dummy/config/spring.rb
271
- - test/dummy/config/storage.yml
272
- - test/dummy/db/test.sqlite3
273
- - test/dummy/lib/assets/.keep
274
- - test/dummy/log/.keep
275
- - test/dummy/package.json
276
- - test/dummy/public/404.html
277
- - test/dummy/public/422.html
278
- - test/dummy/public/500.html
279
- - test/dummy/public/apple-touch-icon-precomposed.png
280
- - test/dummy/public/apple-touch-icon.png
281
- - test/dummy/public/favicon.ico
282
- - test/dummy/storage/.keep
283
- - test/dummy/tmp/.keep
284
- - test/dummy/tmp/storage/.keep
285
- - test/helpers/button_helper_test.rb
286
- - test/key.pem
287
- - test/models/identity_test.rb
288
- - test/models/redirect_protector_test.rb
289
- - test/test_helper.rb
95
+ test_files: []
data/.gitignore DELETED
@@ -1,13 +0,0 @@
1
- .bundle/
2
- .byebug_history
3
- log/*.log
4
- pkg/
5
- *.gem
6
-
7
- test/dummy/db/*.sqlite3
8
- test/dummy/db/*.sqlite3-journal
9
- test/dummy/log/*.log
10
- test/dummy/node_modules/
11
- test/dummy/yarn-error.log
12
- test/dummy/storage/
13
- test/dummy/tmp/
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
-
5
- # Bundler/RubyGems incompat on Ruby 2.5.0 and 2.6.1
6
- before_install: gem update --system && gem install bundler -v 1.17.3
7
-
8
- rvm:
9
- - 2.5
10
- - 2.6
11
- - ruby-head
12
-
13
- matrix:
14
- allow_failures:
15
- - rvm: ruby-head
16
- fast_finish: true
data/CHANGELOG.md DELETED
@@ -1,3 +0,0 @@
1
- # Changelog
2
-
3
- Please see [our GitHub "Releases" page](https://github.com/basecamp/google_sign_in/releases).
data/Gemfile DELETED
@@ -1,6 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
4
-
5
- gem 'rake'
6
- gem 'byebug'
data/Gemfile.lock DELETED
@@ -1,178 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- google_sign_in (1.2.0)
5
- google-id-token (>= 1.4.0)
6
- oauth2 (>= 1.4.0)
7
- rails (>= 5.2.0)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- actioncable (6.0.0)
13
- actionpack (= 6.0.0)
14
- nio4r (~> 2.0)
15
- websocket-driver (>= 0.6.1)
16
- actionmailbox (6.0.0)
17
- actionpack (= 6.0.0)
18
- activejob (= 6.0.0)
19
- activerecord (= 6.0.0)
20
- activestorage (= 6.0.0)
21
- activesupport (= 6.0.0)
22
- mail (>= 2.7.1)
23
- actionmailer (6.0.0)
24
- actionpack (= 6.0.0)
25
- actionview (= 6.0.0)
26
- activejob (= 6.0.0)
27
- mail (~> 2.5, >= 2.5.4)
28
- rails-dom-testing (~> 2.0)
29
- actionpack (6.0.0)
30
- actionview (= 6.0.0)
31
- activesupport (= 6.0.0)
32
- rack (~> 2.0)
33
- rack-test (>= 0.6.3)
34
- rails-dom-testing (~> 2.0)
35
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
- actiontext (6.0.0)
37
- actionpack (= 6.0.0)
38
- activerecord (= 6.0.0)
39
- activestorage (= 6.0.0)
40
- activesupport (= 6.0.0)
41
- nokogiri (>= 1.8.5)
42
- actionview (6.0.0)
43
- activesupport (= 6.0.0)
44
- builder (~> 3.1)
45
- erubi (~> 1.4)
46
- rails-dom-testing (~> 2.0)
47
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
- activejob (6.0.0)
49
- activesupport (= 6.0.0)
50
- globalid (>= 0.3.6)
51
- activemodel (6.0.0)
52
- activesupport (= 6.0.0)
53
- activerecord (6.0.0)
54
- activemodel (= 6.0.0)
55
- activesupport (= 6.0.0)
56
- activestorage (6.0.0)
57
- actionpack (= 6.0.0)
58
- activejob (= 6.0.0)
59
- activerecord (= 6.0.0)
60
- marcel (~> 0.3.1)
61
- activesupport (6.0.0)
62
- concurrent-ruby (~> 1.0, >= 1.0.2)
63
- i18n (>= 0.7, < 2)
64
- minitest (~> 5.1)
65
- tzinfo (~> 1.1)
66
- zeitwerk (~> 2.1, >= 2.1.8)
67
- addressable (2.8.0)
68
- public_suffix (>= 2.0.2, < 5.0)
69
- builder (3.2.3)
70
- byebug (11.0.1)
71
- concurrent-ruby (1.1.5)
72
- crack (0.4.3)
73
- safe_yaml (~> 1.0.0)
74
- crass (1.0.4)
75
- erubi (1.9.0)
76
- faraday (0.16.2)
77
- multipart-post (>= 1.2, < 3)
78
- globalid (0.4.2)
79
- activesupport (>= 4.2.0)
80
- google-id-token (1.4.2)
81
- jwt (>= 1)
82
- hashdiff (1.0.0)
83
- i18n (1.6.0)
84
- concurrent-ruby (~> 1.0)
85
- jwt (2.2.1)
86
- loofah (2.3.0)
87
- crass (~> 1.0.2)
88
- nokogiri (>= 1.5.9)
89
- mail (2.7.1)
90
- mini_mime (>= 0.1.1)
91
- marcel (0.3.3)
92
- mimemagic (~> 0.3.2)
93
- method_source (0.9.2)
94
- mimemagic (0.3.10)
95
- nokogiri (~> 1)
96
- rake
97
- mini_mime (1.0.2)
98
- mini_portile2 (2.6.1)
99
- minitest (5.14.4)
100
- multi_json (1.13.1)
101
- multi_xml (0.6.0)
102
- multipart-post (2.1.1)
103
- nio4r (2.5.2)
104
- nokogiri (1.12.5)
105
- mini_portile2 (~> 2.6.1)
106
- racc (~> 1.4)
107
- oauth2 (1.4.2)
108
- faraday (>= 0.8, < 2.0)
109
- jwt (>= 1.0, < 3.0)
110
- multi_json (~> 1.3)
111
- multi_xml (~> 0.5)
112
- rack (>= 1.2, < 3)
113
- public_suffix (4.0.1)
114
- racc (1.5.2)
115
- rack (2.0.7)
116
- rack-test (1.1.0)
117
- rack (>= 1.0, < 3)
118
- rails (6.0.0)
119
- actioncable (= 6.0.0)
120
- actionmailbox (= 6.0.0)
121
- actionmailer (= 6.0.0)
122
- actionpack (= 6.0.0)
123
- actiontext (= 6.0.0)
124
- actionview (= 6.0.0)
125
- activejob (= 6.0.0)
126
- activemodel (= 6.0.0)
127
- activerecord (= 6.0.0)
128
- activestorage (= 6.0.0)
129
- activesupport (= 6.0.0)
130
- bundler (>= 1.3.0)
131
- railties (= 6.0.0)
132
- sprockets-rails (>= 2.0.0)
133
- rails-dom-testing (2.0.3)
134
- activesupport (>= 4.2.0)
135
- nokogiri (>= 1.6)
136
- rails-html-sanitizer (1.2.0)
137
- loofah (~> 2.2, >= 2.2.2)
138
- railties (6.0.0)
139
- actionpack (= 6.0.0)
140
- activesupport (= 6.0.0)
141
- method_source
142
- rake (>= 0.8.7)
143
- thor (>= 0.20.3, < 2.0)
144
- rake (13.0.0)
145
- safe_yaml (1.0.5)
146
- sprockets (3.7.2)
147
- concurrent-ruby (~> 1.0)
148
- rack (> 1, < 3)
149
- sprockets-rails (3.2.1)
150
- actionpack (>= 4.0)
151
- activesupport (>= 4.0)
152
- sprockets (>= 3.0.0)
153
- thor (0.20.3)
154
- thread_safe (0.3.6)
155
- tzinfo (1.2.5)
156
- thread_safe (~> 0.1)
157
- webmock (3.7.6)
158
- addressable (>= 2.3.6)
159
- crack (>= 0.3.2)
160
- hashdiff (>= 0.4.0, < 2.0.0)
161
- websocket-driver (0.7.1)
162
- websocket-extensions (>= 0.1.0)
163
- websocket-extensions (0.1.4)
164
- zeitwerk (2.1.10)
165
-
166
- PLATFORMS
167
- ruby
168
-
169
- DEPENDENCIES
170
- bundler (~> 1.15)
171
- byebug
172
- google_sign_in!
173
- jwt (>= 1.5.6)
174
- rake
175
- webmock (>= 3.4.2)
176
-
177
- BUNDLED WITH
178
- 1.17.3