devise_token_auth 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of devise_token_auth might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/README.md +2 -2
- data/app/controllers/devise_token_auth/application_controller.rb +0 -1
- data/app/controllers/devise_token_auth/concerns/resource_finder.rb +11 -12
- data/app/controllers/devise_token_auth/concerns/set_user_by_token.rb +15 -28
- data/app/controllers/devise_token_auth/confirmations_controller.rb +14 -19
- data/app/controllers/devise_token_auth/omniauth_callbacks_controller.rb +46 -21
- data/app/controllers/devise_token_auth/passwords_controller.rb +15 -19
- data/app/controllers/devise_token_auth/registrations_controller.rb +31 -39
- data/app/controllers/devise_token_auth/unlocks_controller.rb +1 -1
- data/app/models/devise_token_auth/concerns/active_record_support.rb +34 -0
- data/app/models/devise_token_auth/concerns/mongoid_support.rb +19 -0
- data/app/models/devise_token_auth/concerns/user.rb +9 -23
- data/app/models/devise_token_auth/concerns/user_omniauth_callbacks.rb +2 -2
- data/app/validators/{email_validator.rb → devise_token_auth/email_validator.rb} +1 -1
- data/config/locales/he.yml +50 -0
- data/config/locales/ja.yml +1 -1
- data/lib/devise_token_auth.rb +5 -3
- data/lib/devise_token_auth/blacklist.rb +2 -0
- data/lib/devise_token_auth/version.rb +1 -1
- data/lib/generators/devise_token_auth/install_generator.rb +3 -87
- data/lib/generators/devise_token_auth/install_generator_helpers.rb +98 -0
- data/lib/generators/devise_token_auth/install_mongoid_generator.rb +46 -0
- data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +0 -7
- data/lib/generators/devise_token_auth/templates/user_mongoid.rb.erb +56 -0
- data/test/controllers/custom/custom_confirmations_controller_test.rb +1 -1
- data/test/controllers/devise_token_auth/confirmations_controller_test.rb +41 -20
- data/test/controllers/devise_token_auth/omniauth_callbacks_controller_test.rb +2 -0
- data/test/controllers/devise_token_auth/passwords_controller_test.rb +115 -94
- data/test/controllers/devise_token_auth/registrations_controller_test.rb +31 -4
- data/test/controllers/devise_token_auth/sessions_controller_test.rb +0 -38
- data/test/controllers/devise_token_auth/token_validations_controller_test.rb +2 -1
- data/test/dummy/app/{models → active_record}/lockable_user.rb +0 -0
- data/test/dummy/app/{models → active_record}/mang.rb +0 -0
- data/test/dummy/app/{models → active_record}/only_email_user.rb +0 -0
- data/test/dummy/app/{models → active_record}/scoped_user.rb +2 -2
- data/test/dummy/app/{models → active_record}/unconfirmable_user.rb +1 -2
- data/test/dummy/app/{models → active_record}/unregisterable_user.rb +3 -3
- data/test/dummy/app/active_record/user.rb +6 -0
- data/test/dummy/app/controllers/overrides/sessions_controller.rb +1 -1
- data/test/dummy/app/models/{user.rb → concerns/favorite_color.rb} +7 -8
- 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/config/application.rb +23 -1
- data/test/dummy/config/boot.rb +4 -0
- data/test/dummy/config/initializers/devise.rb +12 -0
- data/test/dummy/db/migrate/20140715061447_devise_token_auth_create_users.rb +0 -7
- data/test/dummy/db/migrate/20140715061805_devise_token_auth_create_mangs.rb +0 -7
- data/test/dummy/db/migrate/20141222035835_devise_token_auth_create_only_email_users.rb +0 -7
- data/test/dummy/db/migrate/20141222053502_devise_token_auth_create_unregisterable_users.rb +0 -7
- data/test/dummy/db/migrate/20150708104536_devise_token_auth_create_unconfirmable_users.rb +0 -7
- data/test/dummy/db/migrate/20160103235141_devise_token_auth_create_scoped_users.rb +0 -7
- data/test/dummy/db/migrate/20160629184441_devise_token_auth_create_lockable_users.rb +0 -7
- data/test/dummy/db/schema.rb +1 -28
- data/test/dummy/tmp/generators/app/models/azpire/v1/human_resource/user.rb +9 -0
- data/test/dummy/tmp/generators/config/initializers/devise_token_auth.rb +50 -0
- data/test/dummy/tmp/generators/config/routes.rb +4 -0
- data/test/dummy/tmp/generators/db/migrate/20190112150327_devise_token_auth_create_azpire_v1_human_resource_users.rb +56 -0
- data/test/lib/devise_token_auth/blacklist_test.rb +11 -0
- data/test/lib/generators/devise_token_auth/install_generator_test.rb +51 -31
- data/test/lib/generators/devise_token_auth/install_generator_with_namespace_test.rb +51 -31
- data/test/models/concerns/mongoid_support_test.rb +31 -0
- data/test/models/only_email_user_test.rb +0 -8
- data/test/models/user_test.rb +1 -1
- data/test/test_helper.rb +12 -2
- metadata +91 -27
- data/config/initializers/devise.rb +0 -198
- data/test/dummy/tmp/generators/app/views/devise/mailer/confirmation_instructions.html.erb +0 -5
- data/test/dummy/tmp/generators/app/views/devise/mailer/reset_password_instructions.html.erb +0 -8
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class User
|
4
|
+
include Mongoid::Document
|
5
|
+
include Mongoid::Timestamps
|
6
|
+
include Mongoid::Locker
|
7
|
+
|
8
|
+
field :locker_locked_at, type: Time
|
9
|
+
field :locker_locked_until, type: Time
|
10
|
+
|
11
|
+
locker locked_at_field: :locker_locked_at,
|
12
|
+
locked_until_field: :locker_locked_until
|
13
|
+
|
14
|
+
## User Info
|
15
|
+
field :name, type: String
|
16
|
+
field :nickname, type: String
|
17
|
+
field :image, type: String
|
18
|
+
field :favorite_color, type: String
|
19
|
+
field :operating_thetan, type: Integer
|
20
|
+
|
21
|
+
## Database authenticatable
|
22
|
+
field :email, type: String, default: ''
|
23
|
+
field :encrypted_password, type: String, default: ''
|
24
|
+
|
25
|
+
## Recoverable
|
26
|
+
field :reset_password_token, type: String
|
27
|
+
field :reset_password_sent_at, type: Time
|
28
|
+
field :reset_password_redirect_url, type: String
|
29
|
+
field :allow_password_change, type: Boolean, default: false
|
30
|
+
|
31
|
+
## Rememberable
|
32
|
+
field :remember_created_at, type: Time
|
33
|
+
|
34
|
+
## Confirmable
|
35
|
+
field :confirmation_token, type: String
|
36
|
+
field :confirmed_at, type: Time
|
37
|
+
field :confirmation_sent_at, type: Time
|
38
|
+
field :unconfirmed_email, type: String # Only if using reconfirmable
|
39
|
+
|
40
|
+
## Required
|
41
|
+
field :provider, type: String
|
42
|
+
field :uid, type: String, default: ''
|
43
|
+
|
44
|
+
## Tokens
|
45
|
+
field :tokens, type: Hash, default: {}
|
46
|
+
|
47
|
+
include DeviseTokenAuth::Concerns::User
|
48
|
+
include FavoriteColor
|
49
|
+
end
|
@@ -2,10 +2,25 @@
|
|
2
2
|
|
3
3
|
require File.expand_path('boot', __dir__)
|
4
4
|
|
5
|
+
require 'action_controller/railtie'
|
6
|
+
require 'action_mailer/railtie'
|
7
|
+
require 'sprockets/railtie'
|
8
|
+
require 'rails/generators'
|
5
9
|
require 'rack/cors'
|
6
|
-
require 'rails/all'
|
7
10
|
|
8
11
|
Bundler.require(*Rails.groups)
|
12
|
+
|
13
|
+
begin
|
14
|
+
case DEVISE_TOKEN_AUTH_ORM
|
15
|
+
when :active_record
|
16
|
+
require 'active_record/railtie'
|
17
|
+
when :mongoid
|
18
|
+
require 'mongoid'
|
19
|
+
require 'mongoid-locker'
|
20
|
+
end
|
21
|
+
rescue LoadError
|
22
|
+
end
|
23
|
+
|
9
24
|
require 'devise_token_auth'
|
10
25
|
|
11
26
|
module Dummy
|
@@ -22,5 +37,12 @@ module Dummy
|
|
22
37
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
23
38
|
# config.i18n.default_locale = :de
|
24
39
|
config.autoload_paths << Rails.root.join('lib')
|
40
|
+
config.autoload_paths += ["#{config.root}/app/#{DEVISE_TOKEN_AUTH_ORM}"]
|
41
|
+
|
42
|
+
if DEVISE_TOKEN_AUTH_ORM == :mongoid
|
43
|
+
Mongoid.configure do |config|
|
44
|
+
config.load! Rails.root.join('./config/mongoid.yml')
|
45
|
+
end
|
46
|
+
end
|
25
47
|
end
|
26
48
|
end
|
data/test/dummy/config/boot.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
unless defined?(DEVISE_TOKEN_AUTH_ORM)
|
4
|
+
DEVISE_TOKEN_AUTH_ORM = (ENV["DEVISE_TOKEN_AUTH_ORM"] || :active_record).to_sym
|
5
|
+
end
|
6
|
+
|
3
7
|
# Set up gems listed in the Gemfile.
|
4
8
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
|
5
9
|
|
@@ -2,4 +2,16 @@
|
|
2
2
|
|
3
3
|
Devise.setup do |config|
|
4
4
|
config.authentication_keys = [:email, :nickname]
|
5
|
+
|
6
|
+
# ==> Mailer Configuration
|
7
|
+
# Configure the e-mail address which will be shown in Devise::Mailer,
|
8
|
+
# note that it will be overwritten if you use your own mailer class
|
9
|
+
# with default "from" parameter.
|
10
|
+
config.mailer_sender = 'no-reply@example.com'
|
11
|
+
|
12
|
+
# ==> ORM configuration
|
13
|
+
# Load and configure the ORM. Supports :active_record (default) and
|
14
|
+
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
15
|
+
# available as additional gems.
|
16
|
+
require "devise/orm/#{DEVISE_TOKEN_AUTH_ORM}"
|
5
17
|
end
|
@@ -18,13 +18,6 @@ class DeviseTokenAuthCreateUsers < ActiveRecord::Migration[4.2]
|
|
18
18
|
## Rememberable
|
19
19
|
t.datetime :remember_created_at
|
20
20
|
|
21
|
-
## Trackable
|
22
|
-
t.integer :sign_in_count, default: 0, null: false
|
23
|
-
t.datetime :current_sign_in_at
|
24
|
-
t.datetime :last_sign_in_at
|
25
|
-
t.string :current_sign_in_ip
|
26
|
-
t.string :last_sign_in_ip
|
27
|
-
|
28
21
|
## Confirmable
|
29
22
|
t.string :confirmation_token
|
30
23
|
t.datetime :confirmed_at
|
@@ -18,13 +18,6 @@ class DeviseTokenAuthCreateMangs < ActiveRecord::Migration[4.2]
|
|
18
18
|
## Rememberable
|
19
19
|
t.datetime :remember_created_at
|
20
20
|
|
21
|
-
## Trackable
|
22
|
-
t.integer :sign_in_count, default: 0, null: false
|
23
|
-
t.datetime :current_sign_in_at
|
24
|
-
t.datetime :last_sign_in_at
|
25
|
-
t.string :current_sign_in_ip
|
26
|
-
t.string :last_sign_in_ip
|
27
|
-
|
28
21
|
## Confirmable
|
29
22
|
t.string :confirmation_token
|
30
23
|
t.datetime :confirmed_at
|
@@ -19,13 +19,6 @@ class DeviseTokenAuthCreateOnlyEmailUsers < ActiveRecord::Migration[4.2]
|
|
19
19
|
## Rememberable
|
20
20
|
#t.datetime :remember_created_at
|
21
21
|
|
22
|
-
## Trackable
|
23
|
-
#t.integer :sign_in_count, :default => 0, :null => false
|
24
|
-
#t.datetime :current_sign_in_at
|
25
|
-
#t.datetime :last_sign_in_at
|
26
|
-
#t.string :current_sign_in_ip
|
27
|
-
#t.string :last_sign_in_ip
|
28
|
-
|
29
22
|
## Confirmable
|
30
23
|
#t.string :confirmation_token
|
31
24
|
#t.datetime :confirmed_at
|
@@ -20,13 +20,6 @@ class DeviseTokenAuthCreateUnregisterableUsers < ActiveRecord::Migration[4.2]
|
|
20
20
|
## Rememberable
|
21
21
|
t.datetime :remember_created_at
|
22
22
|
|
23
|
-
## Trackable
|
24
|
-
t.integer :sign_in_count, default: 0, null: false
|
25
|
-
t.datetime :current_sign_in_at
|
26
|
-
t.datetime :last_sign_in_at
|
27
|
-
t.string :current_sign_in_ip
|
28
|
-
t.string :last_sign_in_ip
|
29
|
-
|
30
23
|
## Confirmable
|
31
24
|
t.string :confirmation_token
|
32
25
|
t.datetime :confirmed_at
|
@@ -20,13 +20,6 @@ class DeviseTokenAuthCreateUnconfirmableUsers < ActiveRecord::Migration[4.2]
|
|
20
20
|
## Rememberable
|
21
21
|
t.datetime :remember_created_at
|
22
22
|
|
23
|
-
## Trackable
|
24
|
-
t.integer :sign_in_count, default: 0, null: false
|
25
|
-
t.datetime :current_sign_in_at
|
26
|
-
t.datetime :last_sign_in_at
|
27
|
-
t.string :current_sign_in_ip
|
28
|
-
t.string :last_sign_in_ip
|
29
|
-
|
30
23
|
## Confirmable
|
31
24
|
# t.string :confirmation_token
|
32
25
|
# t.datetime :confirmed_at
|
@@ -20,13 +20,6 @@ class DeviseTokenAuthCreateScopedUsers < ActiveRecord::Migration[4.2]
|
|
20
20
|
## Rememberable
|
21
21
|
t.datetime :remember_created_at
|
22
22
|
|
23
|
-
## Trackable
|
24
|
-
t.integer :sign_in_count, default: 0, null: false
|
25
|
-
t.datetime :current_sign_in_at
|
26
|
-
t.datetime :last_sign_in_at
|
27
|
-
t.string :current_sign_in_ip
|
28
|
-
t.string :last_sign_in_ip
|
29
|
-
|
30
23
|
## Confirmable
|
31
24
|
t.string :confirmation_token
|
32
25
|
t.datetime :confirmed_at
|
@@ -20,13 +20,6 @@ class DeviseTokenAuthCreateLockableUsers < ActiveRecord::Migration[4.2]
|
|
20
20
|
## Rememberable
|
21
21
|
# t.datetime :remember_created_at
|
22
22
|
|
23
|
-
## Trackable
|
24
|
-
# t.integer :sign_in_count, :default => 0, :null => false
|
25
|
-
# t.datetime :current_sign_in_at
|
26
|
-
# t.datetime :last_sign_in_at
|
27
|
-
# t.string :current_sign_in_ip
|
28
|
-
# t.string :last_sign_in_ip
|
29
|
-
|
30
23
|
## Confirmable
|
31
24
|
# t.string :confirmation_token
|
32
25
|
# t.datetime :confirmed_at
|
data/test/dummy/db/schema.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
# This file is auto-generated from the current state of the database. Instead
|
4
2
|
# of editing this file, please use the migrations feature of Active Record to
|
5
3
|
# incrementally modify your database, and then regenerate this schema definition.
|
@@ -12,7 +10,7 @@
|
|
12
10
|
#
|
13
11
|
# It's strongly recommended that you check this file into your version control system.
|
14
12
|
|
15
|
-
ActiveRecord::Schema.define(version:
|
13
|
+
ActiveRecord::Schema.define(version: 2016_06_29_184441) do
|
16
14
|
|
17
15
|
create_table "lockable_users", force: :cascade do |t|
|
18
16
|
t.string "provider", null: false
|
@@ -41,11 +39,6 @@ ActiveRecord::Schema.define(version: 20160629184441) do
|
|
41
39
|
t.string "reset_password_redirect_url"
|
42
40
|
t.boolean "allow_password_change", default: false
|
43
41
|
t.datetime "remember_created_at"
|
44
|
-
t.integer "sign_in_count", default: 0, null: false
|
45
|
-
t.datetime "current_sign_in_at"
|
46
|
-
t.datetime "last_sign_in_at"
|
47
|
-
t.string "current_sign_in_ip"
|
48
|
-
t.string "last_sign_in_ip"
|
49
42
|
t.string "confirmation_token"
|
50
43
|
t.datetime "confirmed_at"
|
51
44
|
t.datetime "confirmation_sent_at"
|
@@ -88,11 +81,6 @@ ActiveRecord::Schema.define(version: 20160629184441) do
|
|
88
81
|
t.datetime "reset_password_sent_at"
|
89
82
|
t.boolean "allow_password_change", default: false
|
90
83
|
t.datetime "remember_created_at"
|
91
|
-
t.integer "sign_in_count", default: 0, null: false
|
92
|
-
t.datetime "current_sign_in_at"
|
93
|
-
t.datetime "last_sign_in_at"
|
94
|
-
t.string "current_sign_in_ip"
|
95
|
-
t.string "last_sign_in_ip"
|
96
84
|
t.string "confirmation_token"
|
97
85
|
t.datetime "confirmed_at"
|
98
86
|
t.datetime "confirmation_sent_at"
|
@@ -117,11 +105,6 @@ ActiveRecord::Schema.define(version: 20160629184441) do
|
|
117
105
|
t.datetime "reset_password_sent_at"
|
118
106
|
t.boolean "allow_password_change", default: false
|
119
107
|
t.datetime "remember_created_at"
|
120
|
-
t.integer "sign_in_count", default: 0, null: false
|
121
|
-
t.datetime "current_sign_in_at"
|
122
|
-
t.datetime "last_sign_in_at"
|
123
|
-
t.string "current_sign_in_ip"
|
124
|
-
t.string "last_sign_in_ip"
|
125
108
|
t.string "name"
|
126
109
|
t.string "nickname"
|
127
110
|
t.string "image"
|
@@ -142,11 +125,6 @@ ActiveRecord::Schema.define(version: 20160629184441) do
|
|
142
125
|
t.datetime "reset_password_sent_at"
|
143
126
|
t.boolean "allow_password_change", default: false
|
144
127
|
t.datetime "remember_created_at"
|
145
|
-
t.integer "sign_in_count", default: 0, null: false
|
146
|
-
t.datetime "current_sign_in_at"
|
147
|
-
t.datetime "last_sign_in_at"
|
148
|
-
t.string "current_sign_in_ip"
|
149
|
-
t.string "last_sign_in_ip"
|
150
128
|
t.string "confirmation_token"
|
151
129
|
t.datetime "confirmed_at"
|
152
130
|
t.datetime "confirmation_sent_at"
|
@@ -171,11 +149,6 @@ ActiveRecord::Schema.define(version: 20160629184441) do
|
|
171
149
|
t.string "reset_password_redirect_url"
|
172
150
|
t.boolean "allow_password_change", default: false
|
173
151
|
t.datetime "remember_created_at"
|
174
|
-
t.integer "sign_in_count", default: 0, null: false
|
175
|
-
t.datetime "current_sign_in_at"
|
176
|
-
t.datetime "last_sign_in_at"
|
177
|
-
t.string "current_sign_in_ip"
|
178
|
-
t.string "last_sign_in_ip"
|
179
152
|
t.string "confirmation_token"
|
180
153
|
t.datetime "confirmed_at"
|
181
154
|
t.datetime "confirmation_sent_at"
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Azpire::V1::HumanResource::User < ActiveRecord::Base
|
4
|
+
# Include default devise modules. Others available are:
|
5
|
+
# :confirmable, :lockable, :timeoutable and :omniauthable
|
6
|
+
devise :database_authenticatable, :registerable,
|
7
|
+
:recoverable, :rememberable, :trackable, :validatable
|
8
|
+
include DeviseTokenAuth::Concerns::User
|
9
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
DeviseTokenAuth.setup do |config|
|
4
|
+
# By default the authorization headers will change after each request. The
|
5
|
+
# client is responsible for keeping track of the changing tokens. Change
|
6
|
+
# this to false to prevent the Authorization header from changing after
|
7
|
+
# each request.
|
8
|
+
# config.change_headers_on_each_request = true
|
9
|
+
|
10
|
+
# By default, users will need to re-authenticate after 2 weeks. This setting
|
11
|
+
# determines how long tokens will remain valid after they are issued.
|
12
|
+
# config.token_lifespan = 2.weeks
|
13
|
+
|
14
|
+
# Sets the max number of concurrent devices per user, which is 10 by default.
|
15
|
+
# After this limit is reached, the oldest tokens will be removed.
|
16
|
+
# config.max_number_of_devices = 10
|
17
|
+
|
18
|
+
# Sometimes it's necessary to make several requests to the API at the same
|
19
|
+
# time. In this case, each request in the batch will need to share the same
|
20
|
+
# auth token. This setting determines how far apart the requests can be while
|
21
|
+
# still using the same auth token.
|
22
|
+
# config.batch_request_buffer_throttle = 5.seconds
|
23
|
+
|
24
|
+
# This route will be the prefix for all oauth2 redirect callbacks. For
|
25
|
+
# example, using the default '/omniauth', the github oauth2 provider will
|
26
|
+
# redirect successful authentications to '/omniauth/github/callback'
|
27
|
+
# config.omniauth_prefix = "/omniauth"
|
28
|
+
|
29
|
+
# By default sending current password is not needed for the password update.
|
30
|
+
# Uncomment to enforce current_password param to be checked before all
|
31
|
+
# attribute updates. Set it to :password if you want it to be checked only if
|
32
|
+
# password is updated.
|
33
|
+
# config.check_current_password_before_update = :attributes
|
34
|
+
|
35
|
+
# By default we will use callbacks for single omniauth.
|
36
|
+
# It depends on fields like email, provider and uid.
|
37
|
+
# config.default_callbacks = true
|
38
|
+
|
39
|
+
# Makes it possible to change the headers names
|
40
|
+
# config.headers_names = {:'access-token' => 'access-token',
|
41
|
+
# :'client' => 'client',
|
42
|
+
# :'expiry' => 'expiry',
|
43
|
+
# :'uid' => 'uid',
|
44
|
+
# :'token-type' => 'token-type' }
|
45
|
+
|
46
|
+
# By default, only Bearer Token authentication is implemented out of the box.
|
47
|
+
# If, however, you wish to integrate with legacy Devise authentication, you can
|
48
|
+
# do so by enabling this flag. NOTE: This feature is highly experimental!
|
49
|
+
# config.enable_standard_devise_support = false
|
50
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
class DeviseTokenAuthCreateAzpireV1HumanResourceUsers < ActiveRecord::Migration[5.2]
|
2
|
+
def change
|
3
|
+
|
4
|
+
create_table(:azpire_v1_human_resource_users) do |t|
|
5
|
+
## Required
|
6
|
+
t.string :provider, :null => false, :default => "email"
|
7
|
+
t.string :uid, :null => false, :default => ""
|
8
|
+
|
9
|
+
## Database authenticatable
|
10
|
+
t.string :encrypted_password, :null => false, :default => ""
|
11
|
+
|
12
|
+
## Recoverable
|
13
|
+
t.string :reset_password_token
|
14
|
+
t.datetime :reset_password_sent_at
|
15
|
+
t.boolean :allow_password_change, :default => false
|
16
|
+
|
17
|
+
## Rememberable
|
18
|
+
t.datetime :remember_created_at
|
19
|
+
|
20
|
+
## Trackable
|
21
|
+
t.integer :sign_in_count, :default => 0, :null => false
|
22
|
+
t.datetime :current_sign_in_at
|
23
|
+
t.datetime :last_sign_in_at
|
24
|
+
t.string :current_sign_in_ip
|
25
|
+
t.string :last_sign_in_ip
|
26
|
+
|
27
|
+
## Confirmable
|
28
|
+
t.string :confirmation_token
|
29
|
+
t.datetime :confirmed_at
|
30
|
+
t.datetime :confirmation_sent_at
|
31
|
+
t.string :unconfirmed_email # Only if using reconfirmable
|
32
|
+
|
33
|
+
## Lockable
|
34
|
+
# t.integer :failed_attempts, :default => 0, :null => false # Only if lock strategy is :failed_attempts
|
35
|
+
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
36
|
+
# t.datetime :locked_at
|
37
|
+
|
38
|
+
## User Info
|
39
|
+
t.string :name
|
40
|
+
t.string :nickname
|
41
|
+
t.string :image
|
42
|
+
t.string :email
|
43
|
+
|
44
|
+
## Tokens
|
45
|
+
t.text :tokens
|
46
|
+
|
47
|
+
t.timestamps
|
48
|
+
end
|
49
|
+
|
50
|
+
add_index :azpire_v1_human_resource_users, :email, unique: true
|
51
|
+
add_index :azpire_v1_human_resource_users, [:uid, :provider], unique: true
|
52
|
+
add_index :azpire_v1_human_resource_users, :reset_password_token, unique: true
|
53
|
+
add_index :azpire_v1_human_resource_users, :confirmation_token, unique: true
|
54
|
+
# add_index :azpire_v1_human_resource_users, :unlock_token, unique: true
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
4
|
+
|
5
|
+
class DeviseTokenAuth::BlacklistTest < ActiveSupport::TestCase
|
6
|
+
describe Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION do
|
7
|
+
test 'should include :tokens' do
|
8
|
+
assert Devise::Models::Authenticatable::BLACKLIST_FOR_SERIALIZATION.include?(:tokens)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -2,11 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'test_helper'
|
4
4
|
require 'fileutils'
|
5
|
-
require 'generators/devise_token_auth/install_generator'
|
5
|
+
require 'generators/devise_token_auth/install_generator' if DEVISE_TOKEN_AUTH_ORM == :active_record
|
6
|
+
require 'generators/devise_token_auth/install_mongoid_generator' if DEVISE_TOKEN_AUTH_ORM == :mongoid
|
6
7
|
|
7
8
|
module DeviseTokenAuth
|
8
9
|
class InstallGeneratorTest < Rails::Generators::TestCase
|
9
|
-
tests InstallGenerator
|
10
|
+
tests InstallGenerator if DEVISE_TOKEN_AUTH_ORM == :active_record
|
11
|
+
tests InstallMongoidGenerator if DEVISE_TOKEN_AUTH_ORM == :mongoid
|
10
12
|
destination Rails.root.join('tmp/generators')
|
11
13
|
|
12
14
|
describe 'default values, clean install' do
|
@@ -26,28 +28,30 @@ module DeviseTokenAuth
|
|
26
28
|
assert_file 'config/initializers/devise_token_auth.rb'
|
27
29
|
end
|
28
30
|
|
29
|
-
test '
|
30
|
-
|
31
|
+
test 'subsequent runs raise no errors' do
|
32
|
+
run_generator
|
31
33
|
end
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
-
assert_migration 'db/migrate/devise_token_auth_create_users.rb', /#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}/
|
36
|
-
else
|
35
|
+
if DEVISE_TOKEN_AUTH_ORM == :active_record
|
36
|
+
test 'migration is created' do
|
37
37
|
assert_migration 'db/migrate/devise_token_auth_create_users.rb'
|
38
38
|
end
|
39
|
-
end
|
40
39
|
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
test 'migration file contains rails version' do
|
41
|
+
if Rails::VERSION::MAJOR >= 5
|
42
|
+
assert_migration 'db/migrate/devise_token_auth_create_users.rb', /#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}/
|
43
|
+
else
|
44
|
+
assert_migration 'db/migrate/devise_token_auth_create_users.rb'
|
45
|
+
end
|
46
|
+
end
|
44
47
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
test 'add primary key type with rails 5 when specified in rails generator' do
|
49
|
+
run_generator %w[--primary_key_type=uuid --force]
|
50
|
+
if Rails::VERSION::MAJOR >= 5
|
51
|
+
assert_migration 'db/migrate/devise_token_auth_create_users.rb', /create_table\(:users, id: :uuid\) do/
|
52
|
+
else
|
53
|
+
assert_migration 'db/migrate/devise_token_auth_create_users.rb', /create_table\(:users\) do/
|
54
|
+
end
|
51
55
|
end
|
52
56
|
end
|
53
57
|
end
|
@@ -63,18 +67,32 @@ module DeviseTokenAuth
|
|
63
67
|
# make dir if not exists
|
64
68
|
FileUtils.mkdir_p(@dir)
|
65
69
|
|
66
|
-
|
67
|
-
|
70
|
+
case DEVISE_TOKEN_AUTH_ORM
|
71
|
+
when :active_record
|
72
|
+
# account for rails version 5
|
73
|
+
active_record_needle = (Rails::VERSION::MAJOR == 5) ? 'ApplicationRecord' : 'ActiveRecord::Base'
|
68
74
|
|
69
|
-
|
70
|
-
|
71
|
-
|
75
|
+
@f = File.open(@fname, 'w') do |f|
|
76
|
+
f.write <<-RUBY
|
77
|
+
class User < #{active_record_needle}
|
72
78
|
|
73
|
-
|
74
|
-
|
79
|
+
def whatever
|
80
|
+
puts 'whatever'
|
81
|
+
end
|
75
82
|
end
|
76
|
-
|
77
|
-
|
83
|
+
RUBY
|
84
|
+
end
|
85
|
+
when :mongoid
|
86
|
+
@f = File.open(@fname, 'w') do |f|
|
87
|
+
f.write <<-'RUBY'
|
88
|
+
class User
|
89
|
+
|
90
|
+
def whatever
|
91
|
+
puts 'whatever'
|
92
|
+
end
|
93
|
+
end
|
94
|
+
RUBY
|
95
|
+
end
|
78
96
|
end
|
79
97
|
|
80
98
|
run_generator
|
@@ -136,10 +154,6 @@ module DeviseTokenAuth
|
|
136
154
|
run_generator %w[Mang mangs]
|
137
155
|
end
|
138
156
|
|
139
|
-
test 'migration is created' do
|
140
|
-
assert_migration 'db/migrate/devise_token_auth_create_mangs.rb'
|
141
|
-
end
|
142
|
-
|
143
157
|
test 'route method is appended to routes file' do
|
144
158
|
assert_file 'config/routes.rb' do |routes|
|
145
159
|
assert_match(/mount_devise_token_auth_for 'Mang', at: 'mangs'/, routes)
|
@@ -152,6 +166,12 @@ module DeviseTokenAuth
|
|
152
166
|
assert_match(/# Define routes for Mang within this block./, routes)
|
153
167
|
end
|
154
168
|
end
|
169
|
+
|
170
|
+
if DEVISE_TOKEN_AUTH_ORM == :active_record
|
171
|
+
test 'migration is created' do
|
172
|
+
assert_migration 'db/migrate/devise_token_auth_create_mangs.rb'
|
173
|
+
end
|
174
|
+
end
|
155
175
|
end
|
156
176
|
end
|
157
177
|
|