sorcery 0.9.0 → 0.10.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 +4 -4
- data/.travis.yml +29 -104
- data/CHANGELOG.md +22 -1
- data/Gemfile +2 -16
- data/README.md +124 -271
- data/Rakefile +2 -2
- data/gemfiles/{mongoid-rails40.gemfile → active_record-rails42.gemfile} +1 -3
- data/lib/generators/sorcery/helpers.rb +4 -4
- data/lib/generators/sorcery/install_generator.rb +25 -19
- data/lib/generators/sorcery/templates/initializer.rb +29 -53
- data/lib/generators/sorcery/templates/migration/activity_logging.rb +2 -2
- data/lib/generators/sorcery/templates/migration/brute_force_protection.rb +1 -1
- data/lib/generators/sorcery/templates/migration/core.rb +3 -3
- data/lib/generators/sorcery/templates/migration/external.rb +3 -3
- data/lib/generators/sorcery/templates/migration/remember_me.rb +2 -2
- data/lib/generators/sorcery/templates/migration/reset_password.rb +2 -2
- data/lib/generators/sorcery/templates/migration/user_activation.rb +2 -2
- data/lib/sorcery/adapters/active_record_adapter.rb +7 -18
- data/lib/sorcery/controller/config.rb +20 -18
- data/lib/sorcery/controller/submodules/activity_logging.rb +7 -15
- data/lib/sorcery/controller/submodules/brute_force_protection.rb +1 -2
- data/lib/sorcery/controller/submodules/external.rb +23 -15
- data/lib/sorcery/controller/submodules/http_basic_auth.rb +16 -19
- data/lib/sorcery/controller/submodules/remember_me.rb +15 -10
- data/lib/sorcery/controller/submodules/session_timeout.rb +7 -8
- data/lib/sorcery/controller.rb +19 -21
- data/lib/sorcery/crypto_providers/aes256.rb +15 -15
- data/lib/sorcery/crypto_providers/bcrypt.rb +19 -21
- data/lib/sorcery/crypto_providers/common.rb +1 -1
- data/lib/sorcery/crypto_providers/md5.rb +5 -5
- data/lib/sorcery/crypto_providers/sha1.rb +5 -5
- data/lib/sorcery/crypto_providers/sha256.rb +2 -2
- data/lib/sorcery/crypto_providers/sha512.rb +3 -3
- data/lib/sorcery/engine.rb +3 -8
- data/lib/sorcery/model/config.rb +64 -49
- data/lib/sorcery/model/submodules/activity_logging.rb +31 -12
- data/lib/sorcery/model/submodules/brute_force_protection.rb +23 -23
- data/lib/sorcery/model/submodules/external.rb +3 -7
- data/lib/sorcery/model/submodules/remember_me.rb +19 -7
- data/lib/sorcery/model/submodules/reset_password.rb +32 -36
- data/lib/sorcery/model/submodules/user_activation.rb +38 -50
- data/lib/sorcery/model/temporary_token.rb +2 -2
- data/lib/sorcery/model.rb +27 -31
- data/lib/sorcery/protocols/oauth.rb +3 -9
- data/lib/sorcery/protocols/oauth2.rb +0 -2
- data/lib/sorcery/providers/base.rb +4 -4
- data/lib/sorcery/providers/facebook.rb +17 -9
- data/lib/sorcery/providers/github.rb +12 -5
- data/lib/sorcery/providers/google.rb +3 -5
- data/lib/sorcery/providers/heroku.rb +6 -8
- data/lib/sorcery/providers/jira.rb +12 -17
- data/lib/sorcery/providers/linkedin.rb +6 -8
- data/lib/sorcery/providers/liveid.rb +4 -7
- data/lib/sorcery/providers/paypal.rb +60 -0
- data/lib/sorcery/providers/salesforce.rb +3 -5
- data/lib/sorcery/providers/slack.rb +45 -0
- data/lib/sorcery/providers/twitter.rb +4 -6
- data/lib/sorcery/providers/vk.rb +3 -5
- data/lib/sorcery/providers/wechat.rb +79 -0
- data/lib/sorcery/providers/xing.rb +8 -11
- data/lib/sorcery/test_helpers/internal/rails.rb +16 -8
- data/lib/sorcery/test_helpers/internal.rb +10 -10
- data/lib/sorcery/test_helpers/rails/controller.rb +1 -1
- data/lib/sorcery/test_helpers/rails/integration.rb +5 -6
- data/lib/sorcery/version.rb +1 -1
- data/lib/sorcery.rb +0 -28
- data/sorcery.gemspec +25 -27
- data/spec/active_record/user_activation_spec.rb +2 -3
- data/spec/active_record/user_activity_logging_spec.rb +2 -4
- data/spec/active_record/user_brute_force_protection_spec.rb +3 -4
- data/spec/active_record/user_oauth_spec.rb +3 -4
- data/spec/active_record/user_remember_me_spec.rb +3 -4
- data/spec/active_record/user_reset_password_spec.rb +2 -3
- data/spec/active_record/user_spec.rb +7 -7
- data/spec/controllers/controller_activity_logging_spec.rb +13 -24
- data/spec/controllers/controller_brute_force_protection_spec.rb +6 -8
- data/spec/controllers/controller_http_basic_auth_spec.rb +19 -20
- data/spec/controllers/controller_oauth2_spec.rb +142 -102
- data/spec/controllers/controller_oauth_spec.rb +86 -66
- data/spec/controllers/controller_remember_me_spec.rb +35 -30
- data/spec/controllers/controller_session_timeout_spec.rb +14 -15
- data/spec/controllers/controller_spec.rb +77 -111
- data/spec/orm/active_record.rb +1 -1
- data/spec/rails_app/app/active_record/authentication.rb +1 -1
- data/spec/rails_app/app/active_record/user.rb +2 -2
- data/spec/rails_app/app/controllers/sorcery_controller.rb +89 -24
- data/spec/rails_app/app/mailers/sorcery_mailer.rb +16 -17
- data/spec/rails_app/config/application.rb +7 -7
- data/spec/rails_app/config/boot.rb +1 -1
- data/spec/rails_app/config/environments/test.rb +1 -1
- data/spec/rails_app/config/initializers/compatible_legacy_migration.rb +11 -0
- data/spec/rails_app/config/initializers/session_store.rb +3 -3
- data/spec/rails_app/config/routes.rb +11 -1
- data/spec/rails_app/config.ru +1 -1
- data/spec/rails_app/db/migrate/activation/20101224223622_add_activation_to_users.rb +4 -4
- data/spec/rails_app/db/migrate/activity_logging/20101224223624_add_activity_logging_to_users.rb +8 -8
- data/spec/rails_app/db/migrate/brute_force_protection/20101224223626_add_brute_force_protection_to_users.rb +5 -5
- data/spec/rails_app/db/migrate/core/20101224223620_create_users.rb +5 -5
- data/spec/rails_app/db/migrate/external/20101224223628_create_authentications_and_user_providers.rb +3 -3
- data/spec/rails_app/db/migrate/remember_me/20101224223623_add_remember_me_token_to_users.rb +6 -6
- data/spec/rails_app/db/migrate/reset_password/20101224223622_add_reset_password_to_users.rb +5 -5
- data/spec/shared_examples/user_activation_shared_examples.rb +99 -58
- data/spec/shared_examples/user_activity_logging_shared_examples.rb +47 -41
- data/spec/shared_examples/user_brute_force_protection_shared_examples.rb +19 -24
- data/spec/shared_examples/user_oauth_shared_examples.rb +7 -10
- data/spec/shared_examples/user_remember_me_shared_examples.rb +90 -21
- data/spec/shared_examples/user_reset_password_shared_examples.rb +52 -54
- data/spec/shared_examples/user_shared_examples.rb +226 -116
- data/spec/sorcery_crypto_providers_spec.rb +63 -76
- data/spec/spec_helper.rb +17 -13
- metadata +28 -82
- data/gemfiles/mongo_mapper-rails40.gemfile +0 -9
- data/gemfiles/mongo_mapper-rails41.gemfile +0 -9
- data/gemfiles/mongoid-rails41.gemfile +0 -9
- data/gemfiles/mongoid3-rails32.gemfile +0 -9
- data/lib/sorcery/adapters/data_mapper_adapter.rb +0 -176
- data/lib/sorcery/adapters/mongo_mapper_adapter.rb +0 -110
- data/lib/sorcery/adapters/mongoid_adapter.rb +0 -97
- data/lib/sorcery/railties/tasks.rake +0 -6
- data/spec/data_mapper/user_activation_spec.rb +0 -10
- data/spec/data_mapper/user_activity_logging_spec.rb +0 -14
- data/spec/data_mapper/user_brute_force_protection_spec.rb +0 -9
- data/spec/data_mapper/user_oauth_spec.rb +0 -9
- data/spec/data_mapper/user_remember_me_spec.rb +0 -8
- data/spec/data_mapper/user_reset_password_spec.rb +0 -8
- data/spec/data_mapper/user_spec.rb +0 -27
- data/spec/mongo_mapper/user_activation_spec.rb +0 -9
- data/spec/mongo_mapper/user_activity_logging_spec.rb +0 -8
- data/spec/mongo_mapper/user_brute_force_protection_spec.rb +0 -8
- data/spec/mongo_mapper/user_oauth_spec.rb +0 -8
- data/spec/mongo_mapper/user_remember_me_spec.rb +0 -8
- data/spec/mongo_mapper/user_reset_password_spec.rb +0 -8
- data/spec/mongo_mapper/user_spec.rb +0 -37
- data/spec/mongoid/user_activation_spec.rb +0 -9
- data/spec/mongoid/user_activity_logging_spec.rb +0 -8
- data/spec/mongoid/user_brute_force_protection_spec.rb +0 -8
- data/spec/mongoid/user_oauth_spec.rb +0 -8
- data/spec/mongoid/user_remember_me_spec.rb +0 -8
- data/spec/mongoid/user_reset_password_spec.rb +0 -8
- data/spec/mongoid/user_spec.rb +0 -51
- data/spec/orm/data_mapper.rb +0 -48
- data/spec/orm/mongo_mapper.rb +0 -10
- data/spec/orm/mongoid.rb +0 -22
- data/spec/rails_app/app/data_mapper/authentication.rb +0 -8
- data/spec/rails_app/app/data_mapper/user.rb +0 -7
- data/spec/rails_app/app/mongo_mapper/authentication.rb +0 -6
- data/spec/rails_app/app/mongo_mapper/user.rb +0 -7
- data/spec/rails_app/app/mongoid/authentication.rb +0 -7
- data/spec/rails_app/app/mongoid/user.rb +0 -7
- data/spec/rails_app/log/development.log +0 -1791
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bb39af475e80d1cf60b3d9d29d594596e1e49f7b
|
|
4
|
+
data.tar.gz: 4c673dbd8669efa22e8422a8d6991100e6ffdd15
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 259226a4a2577089ad0f2ff0a4f2db786c2b0b035ac62d942788e37dcac483e3843c4847e9dda3ffddab601ad981d46a809461da091779fb914497f80e9a92ef
|
|
7
|
+
data.tar.gz: 0d8d54eb5b6f600d17e28b78124ee046c7d00addbcf349d47de742dc1e3abbd2f4b8ed6ce2766f5f98037b0634324554eb389fccc3bde348d27ea1c021a5b378
|
data/.travis.yml
CHANGED
|
@@ -1,132 +1,57 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
rvm:
|
|
3
|
-
-
|
|
3
|
+
- jruby
|
|
4
4
|
- 2.0.0
|
|
5
|
-
- 2.1
|
|
5
|
+
- 2.1.10
|
|
6
|
+
- 2.2.6
|
|
7
|
+
- 2.3.3
|
|
8
|
+
- 2.4.0
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
env:
|
|
11
|
+
global:
|
|
12
|
+
- JRUBY_OPTS="--2.0"
|
|
8
13
|
|
|
9
14
|
gemfile:
|
|
10
15
|
- Gemfile
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
- "SORCERY_ORM=mongoid"
|
|
15
|
-
- "SORCERY_ORM=mongo_mapper"
|
|
16
|
-
- "SORCERY_ORM=data_mapper"
|
|
16
|
+
- gemfiles/active_record-rails40.gemfile
|
|
17
|
+
- gemfiles/active_record-rails41.gemfile
|
|
18
|
+
- gemfiles/active_record-rails42.gemfile
|
|
17
19
|
|
|
18
20
|
before_script:
|
|
19
21
|
- mysql -e 'create database sorcery_test;'
|
|
20
22
|
|
|
23
|
+
before_install:
|
|
24
|
+
- rvm get stable --auto-dotfiles
|
|
25
|
+
- gem update bundler
|
|
26
|
+
|
|
21
27
|
matrix:
|
|
22
28
|
allow_failures:
|
|
23
|
-
- rvm: :jruby
|
|
24
|
-
|
|
25
|
-
include:
|
|
26
|
-
- rvm: 1.9.3
|
|
27
|
-
gemfile: gemfiles/mongoid-rails41.gemfile
|
|
28
|
-
env: "SORCERY_ORM=mongoid"
|
|
29
|
-
|
|
30
|
-
- rvm: 2.0.0
|
|
31
|
-
gemfile: gemfiles/mongoid-rails41.gemfile
|
|
32
|
-
env: "SORCERY_ORM=mongoid"
|
|
33
|
-
|
|
34
|
-
- rvm: 2.1
|
|
35
|
-
gemfile: gemfiles/mongoid-rails41.gemfile
|
|
36
|
-
env: "SORCERY_ORM=mongoid"
|
|
37
|
-
|
|
38
29
|
- rvm: jruby
|
|
39
|
-
gemfile: gemfiles/mongoid-rails41.gemfile
|
|
40
|
-
env: "SORCERY_ORM=mongoid"
|
|
41
|
-
|
|
42
|
-
- rvm: 1.9.3
|
|
43
|
-
gemfile: gemfiles/mongo_mapper-rails41.gemfile
|
|
44
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
45
30
|
|
|
31
|
+
exclude:
|
|
46
32
|
- rvm: 2.0.0
|
|
47
|
-
gemfile: gemfiles/
|
|
48
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
49
|
-
|
|
50
|
-
- rvm: 2.1
|
|
51
|
-
gemfile: gemfiles/mongo_mapper-rails41.gemfile
|
|
52
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
53
|
-
|
|
54
|
-
- rvm: jruby
|
|
55
|
-
gemfile: gemfiles/mongo_mapper-rails41.gemfile
|
|
56
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
57
|
-
|
|
58
|
-
- rvm: 1.9.3
|
|
59
|
-
gemfile: gemfiles/active_record-rails41.gemfile
|
|
60
|
-
env: "SORCERY_ORM=active_record"
|
|
33
|
+
gemfile: gemfiles/active_record-rails42.gemfile
|
|
61
34
|
|
|
62
35
|
- rvm: 2.0.0
|
|
63
|
-
gemfile:
|
|
64
|
-
env: "SORCERY_ORM=active_record"
|
|
65
|
-
|
|
66
|
-
- rvm: 2.1
|
|
67
|
-
gemfile: gemfiles/active_record-rails41.gemfile
|
|
68
|
-
env: "SORCERY_ORM=active_record"
|
|
36
|
+
gemfile: Gemfile
|
|
69
37
|
|
|
70
|
-
- rvm:
|
|
71
|
-
gemfile:
|
|
72
|
-
env: "SORCERY_ORM=active_record"
|
|
38
|
+
- rvm: 2.1.10
|
|
39
|
+
gemfile: Gemfile
|
|
73
40
|
|
|
74
|
-
- rvm:
|
|
75
|
-
gemfile: gemfiles/mongoid-rails40.gemfile
|
|
76
|
-
env: "SORCERY_ORM=mongoid"
|
|
77
|
-
|
|
78
|
-
- rvm: 2.0.0
|
|
79
|
-
gemfile: gemfiles/mongoid-rails40.gemfile
|
|
80
|
-
env: "SORCERY_ORM=mongoid"
|
|
81
|
-
|
|
82
|
-
- rvm: 2.1
|
|
83
|
-
gemfile: gemfiles/mongoid-rails40.gemfile
|
|
84
|
-
env: "SORCERY_ORM=mongoid"
|
|
85
|
-
|
|
86
|
-
- rvm: jruby
|
|
87
|
-
gemfile: gemfiles/mongoid-rails40.gemfile
|
|
88
|
-
env: "SORCERY_ORM=mongoid"
|
|
89
|
-
|
|
90
|
-
- rvm: 1.9.3
|
|
91
|
-
gemfile: gemfiles/mongo_mapper-rails40.gemfile
|
|
92
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
93
|
-
|
|
94
|
-
- rvm: 2.0.0
|
|
95
|
-
gemfile: gemfiles/mongo_mapper-rails40.gemfile
|
|
96
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
97
|
-
|
|
98
|
-
- rvm: 2.1
|
|
99
|
-
gemfile: gemfiles/mongo_mapper-rails40.gemfile
|
|
100
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
101
|
-
|
|
102
|
-
- rvm: jruby
|
|
103
|
-
gemfile: gemfiles/mongo_mapper-rails40.gemfile
|
|
104
|
-
env: "SORCERY_ORM=mongo_mapper"
|
|
105
|
-
|
|
106
|
-
- rvm: 1.9.3
|
|
41
|
+
- rvm: 2.2.6
|
|
107
42
|
gemfile: gemfiles/active_record-rails40.gemfile
|
|
108
|
-
env: "SORCERY_ORM=active_record"
|
|
109
43
|
|
|
110
|
-
- rvm: 2.
|
|
44
|
+
- rvm: 2.3.3
|
|
111
45
|
gemfile: gemfiles/active_record-rails40.gemfile
|
|
112
|
-
env: "SORCERY_ORM=active_record"
|
|
113
46
|
|
|
114
|
-
- rvm: 2.
|
|
47
|
+
- rvm: 2.4.0
|
|
115
48
|
gemfile: gemfiles/active_record-rails40.gemfile
|
|
116
|
-
env: "SORCERY_ORM=active_record"
|
|
117
49
|
|
|
118
|
-
- rvm:
|
|
119
|
-
gemfile: gemfiles/active_record-
|
|
120
|
-
env: "SORCERY_ORM=active_record"
|
|
121
|
-
|
|
122
|
-
- rvm: 1.9.3
|
|
123
|
-
gemfile: gemfiles/mongoid3-rails32.gemfile
|
|
124
|
-
env: "SORCERY_ORM=mongoid"
|
|
50
|
+
- rvm: 2.4.0
|
|
51
|
+
gemfile: gemfiles/active_record-rails41.gemfile
|
|
125
52
|
|
|
126
|
-
- rvm: 2.
|
|
127
|
-
gemfile: gemfiles/
|
|
128
|
-
env: "SORCERY_ORM=mongoid"
|
|
53
|
+
- rvm: 2.4.0
|
|
54
|
+
gemfile: gemfiles/active_record-rails42.gemfile
|
|
129
55
|
|
|
130
|
-
- rvm:
|
|
131
|
-
gemfile:
|
|
132
|
-
env: "SORCERY_ORM=mongoid"
|
|
56
|
+
- rvm: jruby
|
|
57
|
+
gemfile: Gemfile
|
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## 0.10.0
|
|
4
4
|
|
|
5
5
|
* Adapters (Mongoid, MongoMapper, DataMapper) are now separated from the core Sorcery repo and moved under `sorcery-rails` organization. Special thanks to @juike!
|
|
6
|
+
* `current_users` method was removed
|
|
7
|
+
* Added `logged_in?` `logged_out?` `online?` to activity_logging instance methods
|
|
8
|
+
* Added support for PayPal OAuth (thanks to @rubenmoya)
|
|
9
|
+
* Added support for Slack OAuth (thanks to @youzik)
|
|
10
|
+
* Added support for WeChat OAuth (thanks to @Darmody)
|
|
11
|
+
* Deprecated Rails 3
|
|
12
|
+
* Deprecated using `callback_filter` in favor of `callback_action`
|
|
13
|
+
* Added null: false to migrations
|
|
14
|
+
* Added support for Rails 5 (thanks to @kyuden)
|
|
15
|
+
* Added support for Ruby 2.4 (thanks to @kyuden)
|
|
16
|
+
* Added WeChat provider to external submodule.
|
|
17
|
+
* Namespace login lock/unlock methods to fix conflicts with Rails lock/unlock (thanks to @kyuden)
|
|
18
|
+
|
|
19
|
+
## 0.9.1
|
|
20
|
+
|
|
21
|
+
* Fixed fetching private emails from github (thanks to @saratovsource)
|
|
22
|
+
* Added support for `active_for_authentication?` method (thanks to @gchaincl)
|
|
23
|
+
* Fixed migration bug for `external` submodule (thanks to @skv-headless)
|
|
24
|
+
* Added support for new Facebook Graph API (thanks to @mchaisse)
|
|
25
|
+
* Fixed issue with Xing submodule (thanks to @yoyostile)
|
|
26
|
+
* Fixed security bug with using `state` field in oAuth requests
|
|
6
27
|
|
|
7
28
|
## 0.9.0
|
|
8
29
|
|
data/Gemfile
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
1
|
source 'https://rubygems.org'
|
|
2
2
|
|
|
3
|
-
gem 'rails', '~>
|
|
3
|
+
gem 'rails', '~> 5.0.0'
|
|
4
|
+
gem 'rails-controller-testing'
|
|
4
5
|
gem 'sqlite3'
|
|
5
6
|
gem 'pry'
|
|
6
7
|
|
|
7
|
-
group :mongomapper do
|
|
8
|
-
gem 'mongo_mapper'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
group :mongoid do
|
|
12
|
-
gem 'mongoid', "~> 2.4.4"
|
|
13
|
-
gem 'bson_ext'
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
group :datamapper do
|
|
17
|
-
gem 'mysql2'
|
|
18
|
-
gem 'data_mapper'
|
|
19
|
-
gem 'dm-mysql-adapter'
|
|
20
|
-
end
|
|
21
|
-
|
|
22
8
|
gemspec
|