devise_jwt_auth 0.1.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 +7 -0
- data/LICENSE +13 -0
- data/README.md +99 -0
- data/Rakefile +42 -0
- data/app/controllers/devise_jwt_auth/application_controller.rb +80 -0
- data/app/controllers/devise_jwt_auth/concerns/resource_finder.rb +44 -0
- data/app/controllers/devise_jwt_auth/concerns/set_user_by_jwt_token.rb +111 -0
- data/app/controllers/devise_jwt_auth/confirmations_controller.rb +88 -0
- data/app/controllers/devise_jwt_auth/omniauth_callbacks_controller.rb +291 -0
- data/app/controllers/devise_jwt_auth/passwords_controller.rb +217 -0
- data/app/controllers/devise_jwt_auth/refresh_token_controller.rb +41 -0
- data/app/controllers/devise_jwt_auth/registrations_controller.rb +203 -0
- data/app/controllers/devise_jwt_auth/sessions_controller.rb +131 -0
- data/app/controllers/devise_jwt_auth/unlocks_controller.rb +99 -0
- data/app/models/devise_jwt_auth/concerns/active_record_support.rb +16 -0
- data/app/models/devise_jwt_auth/concerns/confirmable_support.rb +27 -0
- data/app/models/devise_jwt_auth/concerns/mongoid_support.rb +19 -0
- data/app/models/devise_jwt_auth/concerns/tokens_serialization.rb +19 -0
- data/app/models/devise_jwt_auth/concerns/user.rb +117 -0
- data/app/models/devise_jwt_auth/concerns/user_omniauth_callbacks.rb +28 -0
- data/app/validators/devise_jwt_auth_email_validator.rb +23 -0
- data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
- data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/devise_jwt_auth/omniauth_external_window.html.erb +38 -0
- data/config/locales/da-DK.yml +52 -0
- data/config/locales/de.yml +51 -0
- data/config/locales/en.yml +57 -0
- data/config/locales/es.yml +51 -0
- data/config/locales/fr.yml +51 -0
- data/config/locales/he.yml +52 -0
- data/config/locales/it.yml +48 -0
- data/config/locales/ja.yml +48 -0
- data/config/locales/ko.yml +51 -0
- data/config/locales/nl.yml +32 -0
- data/config/locales/pl.yml +50 -0
- data/config/locales/pt-BR.yml +48 -0
- data/config/locales/pt.yml +50 -0
- data/config/locales/ro.yml +48 -0
- data/config/locales/ru.yml +52 -0
- data/config/locales/sq.yml +48 -0
- data/config/locales/sv.yml +52 -0
- data/config/locales/uk.yml +61 -0
- data/config/locales/vi.yml +52 -0
- data/config/locales/zh-CN.yml +48 -0
- data/config/locales/zh-HK.yml +50 -0
- data/config/locales/zh-TW.yml +50 -0
- data/lib/devise_jwt_auth.rb +14 -0
- data/lib/devise_jwt_auth/blacklist.rb +2 -0
- data/lib/devise_jwt_auth/controllers/helpers.rb +161 -0
- data/lib/devise_jwt_auth/controllers/url_helpers.rb +10 -0
- data/lib/devise_jwt_auth/engine.rb +96 -0
- data/lib/devise_jwt_auth/errors.rb +8 -0
- data/lib/devise_jwt_auth/rails/routes.rb +118 -0
- data/lib/devise_jwt_auth/token_factory.rb +51 -0
- data/lib/devise_jwt_auth/url.rb +44 -0
- data/lib/devise_jwt_auth/version.rb +5 -0
- data/lib/generators/devise_jwt_auth/USAGE +31 -0
- data/lib/generators/devise_jwt_auth/install_generator.rb +91 -0
- data/lib/generators/devise_jwt_auth/install_generator_helpers.rb +98 -0
- data/lib/generators/devise_jwt_auth/install_mongoid_generator.rb +46 -0
- data/lib/generators/devise_jwt_auth/install_views_generator.rb +18 -0
- data/lib/generators/devise_jwt_auth/templates/devise_jwt_auth.rb +74 -0
- data/lib/generators/devise_jwt_auth/templates/devise_jwt_auth_create_users.rb.erb +51 -0
- data/lib/generators/devise_jwt_auth/templates/user.rb.erb +9 -0
- data/lib/generators/devise_jwt_auth/templates/user_mongoid.rb.erb +56 -0
- data/lib/tasks/devise_token_auth_tasks.rake +6 -0
- data/test/controllers/custom/custom_confirmations_controller_test.rb +25 -0
- data/test/controllers/custom/custom_omniauth_callbacks_controller_test.rb +33 -0
- data/test/controllers/custom/custom_passwords_controller_test.rb +79 -0
- data/test/controllers/custom/custom_refresh_token_controller_test.rb +36 -0
- data/test/controllers/custom/custom_registrations_controller_test.rb +59 -0
- data/test/controllers/custom/custom_sessions_controller_test.rb +39 -0
- data/test/controllers/demo_group_controller_test.rb +150 -0
- data/test/controllers/demo_mang_controller_test.rb +286 -0
- data/test/controllers/demo_user_controller_test.rb +650 -0
- data/test/controllers/devise_jwt_auth/confirmations_controller_test.rb +194 -0
- data/test/controllers/devise_jwt_auth/omniauth_callbacks_controller_test.rb +462 -0
- data/test/controllers/devise_jwt_auth/passwords_controller_test.rb +881 -0
- data/test/controllers/devise_jwt_auth/refresh_token_controller_test.rb +84 -0
- data/test/controllers/devise_jwt_auth/registrations_controller_test.rb +944 -0
- data/test/controllers/devise_jwt_auth/sessions_controller_test.rb +510 -0
- data/test/controllers/devise_jwt_auth/unlocks_controller_test.rb +197 -0
- data/test/controllers/overrides/confirmations_controller_test.rb +47 -0
- data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +53 -0
- data/test/controllers/overrides/passwords_controller_test.rb +65 -0
- data/test/controllers/overrides/refresh_token_controller_test.rb +37 -0
- data/test/controllers/overrides/registrations_controller_test.rb +47 -0
- data/test/controllers/overrides/sessions_controller_test.rb +35 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/app/active_record/confirmable_user.rb +11 -0
- data/test/dummy/app/active_record/lockable_user.rb +7 -0
- data/test/dummy/app/active_record/mang.rb +5 -0
- data/test/dummy/app/active_record/only_email_user.rb +7 -0
- data/test/dummy/app/active_record/scoped_user.rb +9 -0
- data/test/dummy/app/active_record/unconfirmable_user.rb +9 -0
- data/test/dummy/app/active_record/unregisterable_user.rb +9 -0
- data/test/dummy/app/active_record/user.rb +6 -0
- data/test/dummy/app/controllers/application_controller.rb +18 -0
- data/test/dummy/app/controllers/auth_origin_controller.rb +7 -0
- data/test/dummy/app/controllers/custom/confirmations_controller.rb +13 -0
- data/test/dummy/app/controllers/custom/omniauth_callbacks_controller.rb +13 -0
- data/test/dummy/app/controllers/custom/passwords_controller.rb +39 -0
- data/test/dummy/app/controllers/custom/refresh_token_controller.rb +20 -0
- data/test/dummy/app/controllers/custom/registrations_controller.rb +39 -0
- data/test/dummy/app/controllers/custom/sessions_controller.rb +29 -0
- data/test/dummy/app/controllers/demo_group_controller.rb +15 -0
- data/test/dummy/app/controllers/demo_mang_controller.rb +14 -0
- data/test/dummy/app/controllers/demo_user_controller.rb +27 -0
- data/test/dummy/app/controllers/overrides/confirmations_controller.rb +37 -0
- data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +16 -0
- data/test/dummy/app/controllers/overrides/passwords_controller.rb +45 -0
- data/test/dummy/app/controllers/overrides/refresh_token_controller.rb +22 -0
- data/test/dummy/app/controllers/overrides/registrations_controller.rb +29 -0
- data/test/dummy/app/controllers/overrides/sessions_controller.rb +36 -0
- data/test/dummy/app/helpers/application_helper.rb +1058 -0
- data/test/dummy/app/models/concerns/favorite_color.rb +19 -0
- data/test/dummy/app/mongoid/confirmable_user.rb +52 -0
- data/test/dummy/app/mongoid/lockable_user.rb +38 -0
- data/test/dummy/app/mongoid/mang.rb +46 -0
- data/test/dummy/app/mongoid/only_email_user.rb +33 -0
- data/test/dummy/app/mongoid/scoped_user.rb +50 -0
- data/test/dummy/app/mongoid/unconfirmable_user.rb +44 -0
- data/test/dummy/app/mongoid/unregisterable_user.rb +47 -0
- data/test/dummy/app/mongoid/user.rb +49 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config.ru +18 -0
- data/test/dummy/config/application.rb +48 -0
- data/test/dummy/config/application.yml.bk +0 -0
- data/test/dummy/config/boot.rb +11 -0
- data/test/dummy/config/environment.rb +7 -0
- data/test/dummy/config/environments/development.rb +46 -0
- data/test/dummy/config/environments/production.rb +84 -0
- data/test/dummy/config/environments/test.rb +50 -0
- data/test/dummy/config/initializers/assets.rb +10 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +9 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/devise.rb +290 -0
- data/test/dummy/config/initializers/devise_jwt_auth.rb +55 -0
- data/test/dummy/config/initializers/figaro.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +6 -0
- data/test/dummy/config/initializers/inflections.rb +18 -0
- data/test/dummy/config/initializers/mime_types.rb +6 -0
- data/test/dummy/config/initializers/omniauth.rb +11 -0
- data/test/dummy/config/initializers/session_store.rb +5 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +16 -0
- data/test/dummy/config/routes.rb +57 -0
- data/test/dummy/config/spring.rb +3 -0
- data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +58 -0
- data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +57 -0
- data/test/dummy/db/migrate/20140829044006_add_operating_thetan_to_user.rb +8 -0
- data/test/dummy/db/migrate/20140916224624_add_favorite_color_to_mangs.rb +7 -0
- data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +55 -0
- data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +56 -0
- data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +56 -0
- data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +56 -0
- data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +56 -0
- data/test/dummy/db/migrate/20190924101113_devise_token_auth_create_confirmable_users.rb +49 -0
- data/test/dummy/db/schema.rb +198 -0
- data/test/dummy/lib/migration_database_helper.rb +43 -0
- data/test/dummy/tmp/generators/app/models/user.rb +9 -0
- data/test/dummy/tmp/generators/config/initializers/devise_jwt_auth.rb +74 -0
- data/test/dummy/tmp/generators/config/routes.rb +4 -0
- data/test/dummy/tmp/generators/db/migrate/20200206224309_devise_jwt_auth_create_users.rb +51 -0
- data/test/factories/users.rb +41 -0
- data/test/lib/devise_jwt_auth/blacklist_test.rb +11 -0
- data/test/lib/devise_jwt_auth/token_factory_test.rb +115 -0
- data/test/lib/devise_jwt_auth/url_test.rb +26 -0
- data/test/lib/generators/devise_jwt_auth/install_generator_test.rb +219 -0
- data/test/lib/generators/devise_jwt_auth/install_generator_with_namespace_test.rb +224 -0
- data/test/lib/generators/devise_jwt_auth/install_views_generator_test.rb +25 -0
- data/test/models/concerns/mongoid_support_test.rb +31 -0
- data/test/models/concerns/tokens_serialization_test.rb +72 -0
- data/test/models/confirmable_user_test.rb +35 -0
- data/test/models/only_email_user_test.rb +29 -0
- data/test/models/user_test.rb +110 -0
- data/test/support/controllers/routes.rb +43 -0
- data/test/test_helper.rb +91 -0
- metadata +503 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
|
|
5
|
+
# was the web request successful?
|
|
6
|
+
# was the user redirected to the right page?
|
|
7
|
+
# was the user successfully authenticated?
|
|
8
|
+
# was the correct object stored in the response?
|
|
9
|
+
# was the appropriate message delivered in the json payload?
|
|
10
|
+
|
|
11
|
+
class Overrides::RegistrationsControllerTest < ActionDispatch::IntegrationTest
|
|
12
|
+
include OverridesControllersRoutes
|
|
13
|
+
|
|
14
|
+
describe Overrides::RegistrationsController do
|
|
15
|
+
before do
|
|
16
|
+
@existing_user = create(:user, :confirmed)
|
|
17
|
+
|
|
18
|
+
post '/evil_user_auth/sign_in',
|
|
19
|
+
params: { email: @existing_user.email,
|
|
20
|
+
password: @existing_user.password }
|
|
21
|
+
|
|
22
|
+
@resource = assigns(:resource)
|
|
23
|
+
@data = JSON.parse(response.body)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
test 'request should succeed' do
|
|
27
|
+
assert_equal 200, response.status
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
test 'controller was overridden' do
|
|
31
|
+
assert_equal Overrides::RegistrationsController::OVERRIDE_PROOF,
|
|
32
|
+
@data['override_proof']
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
== README
|
|
2
|
+
|
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
|
4
|
+
application up and running.
|
|
5
|
+
|
|
6
|
+
Things you may want to cover:
|
|
7
|
+
|
|
8
|
+
* Ruby version
|
|
9
|
+
|
|
10
|
+
* System dependencies
|
|
11
|
+
|
|
12
|
+
* Configuration
|
|
13
|
+
|
|
14
|
+
* Database creation
|
|
15
|
+
|
|
16
|
+
* Database initialization
|
|
17
|
+
|
|
18
|
+
* How to run the test suite
|
|
19
|
+
|
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
|
21
|
+
|
|
22
|
+
* Deployment instructions
|
|
23
|
+
|
|
24
|
+
* ...
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Please feel free to use a different markup language if you do not plan to run
|
|
28
|
+
<tt>rake doc:app</tt>.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class ConfirmableUser < ActiveRecord::Base
|
|
4
|
+
# Include default devise modules.
|
|
5
|
+
devise :database_authenticatable, :registerable,
|
|
6
|
+
:recoverable, :rememberable,
|
|
7
|
+
:validatable, :confirmable
|
|
8
|
+
DeviseJwtAuth.send_confirmation_email = true
|
|
9
|
+
include DeviseJwtAuth::Concerns::User
|
|
10
|
+
DeviseJwtAuth.send_confirmation_email = false
|
|
11
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class ScopedUser < ActiveRecord::Base
|
|
4
|
+
# Include default devise modules.
|
|
5
|
+
devise :database_authenticatable, :registerable,
|
|
6
|
+
:recoverable, :rememberable,
|
|
7
|
+
:validatable, :confirmable, :omniauthable
|
|
8
|
+
include DeviseJwtAuth::Concerns::User
|
|
9
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class UnconfirmableUser < ActiveRecord::Base
|
|
4
|
+
# Include default devise modules.
|
|
5
|
+
devise :database_authenticatable, :registerable,
|
|
6
|
+
:recoverable, :rememberable,
|
|
7
|
+
:validatable, :omniauthable
|
|
8
|
+
include DeviseJwtAuth::Concerns::User
|
|
9
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class ApplicationController < ActionController::Base
|
|
4
|
+
include DeviseJwtAuth::Concerns::SetUserByJwtToken
|
|
5
|
+
|
|
6
|
+
before_action :configure_permitted_parameters, if: :devise_controller?
|
|
7
|
+
|
|
8
|
+
protected
|
|
9
|
+
|
|
10
|
+
def configure_permitted_parameters
|
|
11
|
+
permitted_parameters = devise_parameter_sanitizer.instance_values['permitted']
|
|
12
|
+
permitted_parameters[:sign_up] << :operating_thetan
|
|
13
|
+
permitted_parameters[:sign_up] << :favorite_color
|
|
14
|
+
permitted_parameters[:account_update] << :operating_thetan
|
|
15
|
+
permitted_parameters[:account_update] << :favorite_color
|
|
16
|
+
permitted_parameters[:account_update] << :current_password
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Custom::ConfirmationsController < DeviseJwtAuth::ConfirmationsController
|
|
4
|
+
def show
|
|
5
|
+
super do |resource|
|
|
6
|
+
@show_block_called = true unless resource.nil?
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def show_block_called?
|
|
11
|
+
@show_block_called == true
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Custom::OmniauthCallbacksController < DeviseJwtAuth::OmniauthCallbacksController
|
|
4
|
+
def omniauth_success
|
|
5
|
+
super do |resource|
|
|
6
|
+
@omniauth_success_block_called = true unless resource.nil?
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def omniauth_success_block_called?
|
|
11
|
+
@omniauth_success_block_called == true
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Custom::PasswordsController < DeviseJwtAuth::PasswordsController
|
|
4
|
+
def create
|
|
5
|
+
super do |resource|
|
|
6
|
+
@create_block_called = true unless resource.nil?
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def edit
|
|
11
|
+
super do |resource|
|
|
12
|
+
@edit_block_called = true unless resource.nil?
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def update
|
|
17
|
+
super do |resource|
|
|
18
|
+
@update_block_called = true unless resource.nil?
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def create_block_called?
|
|
23
|
+
@create_block_called == true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def edit_block_called?
|
|
27
|
+
@edit_block_called == true
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def update_block_called?
|
|
31
|
+
@update_block_called == true
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
protected
|
|
35
|
+
|
|
36
|
+
def render_update_success
|
|
37
|
+
render json: { custom: 'foo' }
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module Custom
|
|
3
|
+
class RefreshTokenController < DeviseJwtAuth::RefreshTokenController
|
|
4
|
+
def show
|
|
5
|
+
super do |resource|
|
|
6
|
+
@refresh_token_block_called = true unless resource.nil?
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def refresh_token_block_called?
|
|
11
|
+
@refresh_token_block_called == true
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
protected
|
|
15
|
+
|
|
16
|
+
def render_refresh_token_success
|
|
17
|
+
render json: { custom: 'foo' }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Custom::RegistrationsController < DeviseJwtAuth::RegistrationsController
|
|
4
|
+
def create
|
|
5
|
+
super do |resource|
|
|
6
|
+
@create_block_called = true
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def update
|
|
11
|
+
super do |resource|
|
|
12
|
+
@update_block_called = true unless resource.nil?
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def destroy
|
|
17
|
+
super do |resource|
|
|
18
|
+
@destroy_block_called = true unless resource.nil?
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def create_block_called?
|
|
23
|
+
@create_block_called == true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def update_block_called?
|
|
27
|
+
@update_block_called == true
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def destroy_block_called?
|
|
31
|
+
@destroy_block_called == true
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
protected
|
|
35
|
+
|
|
36
|
+
def render_create_success
|
|
37
|
+
render json: { custom: 'foo' }
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Custom::SessionsController < DeviseJwtAuth::SessionsController
|
|
4
|
+
def create
|
|
5
|
+
super do |resource|
|
|
6
|
+
@create_block_called = true unless resource.nil?
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def destroy
|
|
11
|
+
super do |resource|
|
|
12
|
+
@destroy_block_called = true unless resource.nil?
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def create_block_called?
|
|
17
|
+
@create_block_called == true
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def destroy_block_called?
|
|
21
|
+
@destroy_block_called == true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
protected
|
|
25
|
+
|
|
26
|
+
def render_create_success
|
|
27
|
+
render json: { custom: 'foo' }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class DemoGroupController < ApplicationController
|
|
4
|
+
devise_jwt_auth_group :member, contains: [:user, :mang]
|
|
5
|
+
before_action :authenticate_member!
|
|
6
|
+
|
|
7
|
+
def members_only
|
|
8
|
+
render json: {
|
|
9
|
+
data: {
|
|
10
|
+
message: "Welcome #{current_member.name}",
|
|
11
|
+
user: current_member
|
|
12
|
+
}
|
|
13
|
+
}, status: 200
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class DemoMangController < ApplicationController
|
|
4
|
+
before_action :authenticate_mang!
|
|
5
|
+
|
|
6
|
+
def members_only
|
|
7
|
+
render json: {
|
|
8
|
+
data: {
|
|
9
|
+
message: "Welcome #{current_mang.name}",
|
|
10
|
+
user: current_mang
|
|
11
|
+
}
|
|
12
|
+
}, status: 200
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class DemoUserController < ApplicationController
|
|
4
|
+
before_action :authenticate_user!
|
|
5
|
+
|
|
6
|
+
def members_only
|
|
7
|
+
render json: {
|
|
8
|
+
data: {
|
|
9
|
+
message: "Welcome #{current_user.name}",
|
|
10
|
+
user: current_user
|
|
11
|
+
}
|
|
12
|
+
}, status: 200
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def members_only_remove_token
|
|
16
|
+
u = User.find(current_user.id)
|
|
17
|
+
u.tokens = {}
|
|
18
|
+
u.save!
|
|
19
|
+
|
|
20
|
+
render json: {
|
|
21
|
+
data: {
|
|
22
|
+
message: "Welcome #{current_user.name}",
|
|
23
|
+
user: current_user
|
|
24
|
+
}
|
|
25
|
+
}, status: 200
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Overrides
|
|
4
|
+
class ConfirmationsController < DeviseJwtAuth::ConfirmationsController
|
|
5
|
+
def show
|
|
6
|
+
@resource = resource_class.confirm_by_token(params[:confirmation_token])
|
|
7
|
+
|
|
8
|
+
if @resource && @resource.id
|
|
9
|
+
# token = @resource.create_token
|
|
10
|
+
# @resource.save!
|
|
11
|
+
|
|
12
|
+
update_refresh_token_cookie
|
|
13
|
+
redirect_header_options = {
|
|
14
|
+
account_confirmation_success: true,
|
|
15
|
+
config: params[:config],
|
|
16
|
+
override_proof: '(^^,)'
|
|
17
|
+
}
|
|
18
|
+
redirect_headers = @resource.create_named_token_pair.
|
|
19
|
+
merge(redirect_header_options)
|
|
20
|
+
redirect_to_link = DeviseJwtAuth::Url.generate(params[:redirect_url], redirect_headers)
|
|
21
|
+
redirect_to redirect_to_link
|
|
22
|
+
# redirect_header_options = {
|
|
23
|
+
# account_confirmation_success: true,
|
|
24
|
+
# config: params[:config],
|
|
25
|
+
# override_proof: '(^^,)'
|
|
26
|
+
# }
|
|
27
|
+
# redirect_headers = build_redirect_headers(token.token,
|
|
28
|
+
# token.client,
|
|
29
|
+
# redirect_header_options)
|
|
30
|
+
# redirect_to(@resource.build_auth_url(params[:redirect_url],
|
|
31
|
+
# redirect_headers))
|
|
32
|
+
else
|
|
33
|
+
raise ActionController::RoutingError, 'Not Found'
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Overrides
|
|
4
|
+
class OmniauthCallbacksController < DeviseJwtAuth::OmniauthCallbacksController
|
|
5
|
+
DEFAULT_NICKNAME = 'stimpy'.freeze
|
|
6
|
+
|
|
7
|
+
def assign_provider_attrs(user, auth_hash)
|
|
8
|
+
user.assign_attributes(
|
|
9
|
+
nickname: DEFAULT_NICKNAME,
|
|
10
|
+
name: auth_hash['info']['name'],
|
|
11
|
+
image: auth_hash['info']['image'],
|
|
12
|
+
email: auth_hash['info']['email']
|
|
13
|
+
)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|