sorcery 0.13.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +5 -0
- data/.github/workflows/ruby.yml +49 -0
- data/.rubocop.yml +2 -2
- data/.rubocop_todo.yml +157 -1
- data/CHANGELOG.md +49 -0
- data/CODE_OF_CONDUCT.md +14 -0
- data/Gemfile +1 -1
- data/README.md +4 -4
- data/Rakefile +3 -1
- data/SECURITY.md +19 -0
- data/gemfiles/rails_52.gemfile +7 -0
- data/gemfiles/rails_60.gemfile +7 -0
- data/lib/generators/sorcery/helpers.rb +4 -0
- data/lib/generators/sorcery/templates/initializer.rb +111 -85
- data/lib/generators/sorcery/templates/migration/activity_logging.rb +5 -5
- data/lib/generators/sorcery/templates/migration/brute_force_protection.rb +4 -4
- data/lib/generators/sorcery/templates/migration/core.rb +4 -4
- data/lib/generators/sorcery/templates/migration/external.rb +3 -3
- data/lib/generators/sorcery/templates/migration/magic_login.rb +4 -4
- data/lib/generators/sorcery/templates/migration/remember_me.rb +3 -3
- data/lib/generators/sorcery/templates/migration/reset_password.rb +5 -5
- data/lib/generators/sorcery/templates/migration/user_activation.rb +4 -4
- data/lib/sorcery/adapters/active_record_adapter.rb +2 -2
- data/lib/sorcery/controller.rb +4 -1
- data/lib/sorcery/controller/config.rb +6 -6
- data/lib/sorcery/controller/submodules/activity_logging.rb +5 -3
- data/lib/sorcery/controller/submodules/external.rb +4 -1
- data/lib/sorcery/controller/submodules/http_basic_auth.rb +1 -0
- data/lib/sorcery/controller/submodules/remember_me.rb +2 -1
- data/lib/sorcery/controller/submodules/session_timeout.rb +2 -0
- data/lib/sorcery/crypto_providers/aes256.rb +1 -1
- data/lib/sorcery/crypto_providers/bcrypt.rb +6 -1
- data/lib/sorcery/engine.rb +7 -1
- data/lib/sorcery/model.rb +6 -5
- data/lib/sorcery/model/config.rb +5 -0
- data/lib/sorcery/model/submodules/magic_login.rb +7 -4
- data/lib/sorcery/model/submodules/reset_password.rb +6 -2
- data/lib/sorcery/providers/battlenet.rb +51 -0
- data/lib/sorcery/providers/discord.rb +52 -0
- data/lib/sorcery/providers/line.rb +63 -0
- data/lib/sorcery/providers/linkedin.rb +45 -36
- data/lib/sorcery/providers/vk.rb +1 -1
- data/lib/sorcery/version.rb +1 -1
- data/sorcery.gemspec +5 -6
- data/spec/controllers/controller_oauth2_spec.rb +41 -6
- data/spec/controllers/controller_oauth_spec.rb +6 -0
- data/spec/controllers/controller_remember_me_spec.rb +15 -12
- data/spec/controllers/controller_spec.rb +11 -1
- data/spec/providers/example_provider_spec.rb +17 -0
- data/spec/providers/example_spec.rb +17 -0
- data/spec/rails_app/app/assets/config/manifest.js +1 -0
- data/spec/rails_app/app/controllers/application_controller.rb +2 -0
- data/spec/rails_app/app/controllers/sorcery_controller.rb +69 -1
- data/spec/rails_app/config/routes.rb +10 -0
- data/spec/shared_examples/user_reset_password_shared_examples.rb +18 -2
- data/spec/shared_examples/user_shared_examples.rb +63 -0
- data/spec/sorcery_crypto_providers_spec.rb +60 -0
- data/spec/support/migration_helper.rb +12 -2
- data/spec/support/providers/example.rb +11 -0
- data/spec/support/providers/example_provider.rb +11 -0
- metadata +25 -15
- data/.travis.yml +0 -38
- data/gemfiles/active_record_rails_40.gemfile +0 -6
- data/gemfiles/active_record_rails_41.gemfile +0 -6
- data/gemfiles/active_record_rails_42.gemfile +0 -6
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: sorcery
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.16.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Noam Ben Ari
         | 
| @@ -12,7 +12,7 @@ authors: | |
| 12 12 | 
             
            autorequire: 
         | 
| 13 13 | 
             
            bindir: bin
         | 
| 14 14 | 
             
            cert_chain: []
         | 
| 15 | 
            -
            date:  | 
| 15 | 
            +
            date: 2021-04-30 00:00:00.000000000 Z
         | 
| 16 16 | 
             
            dependencies:
         | 
| 17 17 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 18 18 | 
             
              name: bcrypt
         | 
| @@ -34,20 +34,20 @@ dependencies: | |
| 34 34 | 
             
                requirements:
         | 
| 35 35 | 
             
                - - "~>"
         | 
| 36 36 | 
             
                  - !ruby/object:Gem::Version
         | 
| 37 | 
            -
                    version: '0. | 
| 37 | 
            +
                    version: '0.5'
         | 
| 38 38 | 
             
                - - ">="
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: 0. | 
| 40 | 
            +
                    version: 0.5.5
         | 
| 41 41 | 
             
              type: :runtime
         | 
| 42 42 | 
             
              prerelease: false
         | 
| 43 43 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 45 | 
             
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: '0. | 
| 47 | 
            +
                    version: '0.5'
         | 
| 48 48 | 
             
                - - ">="
         | 
| 49 49 | 
             
                  - !ruby/object:Gem::Version
         | 
| 50 | 
            -
                    version: 0. | 
| 50 | 
            +
                    version: 0.5.5
         | 
| 51 51 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 52 52 | 
             
              name: oauth2
         | 
| 53 53 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -189,27 +189,29 @@ dependencies: | |
| 189 189 | 
             
            description: Provides common authentication needs such as signing in/out, activating
         | 
| 190 190 | 
             
              by email and resetting password.
         | 
| 191 191 | 
             
            email:
         | 
| 192 | 
            -
            -  | 
| 193 | 
            -
            - contact@joshbuker.com
         | 
| 192 | 
            +
            - crypto@joshbuker.com
         | 
| 194 193 | 
             
            executables: []
         | 
| 195 194 | 
             
            extensions: []
         | 
| 196 195 | 
             
            extra_rdoc_files: []
         | 
| 197 196 | 
             
            files:
         | 
| 198 197 | 
             
            - ".document"
         | 
| 198 | 
            +
            - ".github/FUNDING.yml"
         | 
| 199 199 | 
             
            - ".github/ISSUE_TEMPLATE.md"
         | 
| 200 | 
            +
            - ".github/PULL_REQUEST_TEMPLATE.md"
         | 
| 201 | 
            +
            - ".github/workflows/ruby.yml"
         | 
| 200 202 | 
             
            - ".gitignore"
         | 
| 201 203 | 
             
            - ".rspec"
         | 
| 202 204 | 
             
            - ".rubocop.yml"
         | 
| 203 205 | 
             
            - ".rubocop_todo.yml"
         | 
| 204 | 
            -
            - ".travis.yml"
         | 
| 205 206 | 
             
            - CHANGELOG.md
         | 
| 207 | 
            +
            - CODE_OF_CONDUCT.md
         | 
| 206 208 | 
             
            - Gemfile
         | 
| 207 209 | 
             
            - LICENSE.md
         | 
| 208 210 | 
             
            - README.md
         | 
| 209 211 | 
             
            - Rakefile
         | 
| 210 | 
            -
            -  | 
| 211 | 
            -
            - gemfiles/ | 
| 212 | 
            -
            - gemfiles/ | 
| 212 | 
            +
            - SECURITY.md
         | 
| 213 | 
            +
            - gemfiles/rails_52.gemfile
         | 
| 214 | 
            +
            - gemfiles/rails_60.gemfile
         | 
| 213 215 | 
             
            - lib/generators/sorcery/USAGE
         | 
| 214 216 | 
             
            - lib/generators/sorcery/helpers.rb
         | 
| 215 217 | 
             
            - lib/generators/sorcery/install_generator.rb
         | 
| @@ -257,12 +259,15 @@ files: | |
| 257 259 | 
             
            - lib/sorcery/protocols/oauth2.rb
         | 
| 258 260 | 
             
            - lib/sorcery/providers/auth0.rb
         | 
| 259 261 | 
             
            - lib/sorcery/providers/base.rb
         | 
| 262 | 
            +
            - lib/sorcery/providers/battlenet.rb
         | 
| 263 | 
            +
            - lib/sorcery/providers/discord.rb
         | 
| 260 264 | 
             
            - lib/sorcery/providers/facebook.rb
         | 
| 261 265 | 
             
            - lib/sorcery/providers/github.rb
         | 
| 262 266 | 
             
            - lib/sorcery/providers/google.rb
         | 
| 263 267 | 
             
            - lib/sorcery/providers/heroku.rb
         | 
| 264 268 | 
             
            - lib/sorcery/providers/instagram.rb
         | 
| 265 269 | 
             
            - lib/sorcery/providers/jira.rb
         | 
| 270 | 
            +
            - lib/sorcery/providers/line.rb
         | 
| 266 271 | 
             
            - lib/sorcery/providers/linkedin.rb
         | 
| 267 272 | 
             
            - lib/sorcery/providers/liveid.rb
         | 
| 268 273 | 
             
            - lib/sorcery/providers/microsoft.rb
         | 
| @@ -297,10 +302,14 @@ files: | |
| 297 302 | 
             
            - spec/controllers/controller_session_timeout_spec.rb
         | 
| 298 303 | 
             
            - spec/controllers/controller_spec.rb
         | 
| 299 304 | 
             
            - spec/orm/active_record.rb
         | 
| 305 | 
            +
            - spec/providers/example_provider_spec.rb
         | 
| 306 | 
            +
            - spec/providers/example_spec.rb
         | 
| 300 307 | 
             
            - spec/providers/vk_spec.rb
         | 
| 301 308 | 
             
            - spec/rails_app/app/active_record/authentication.rb
         | 
| 302 309 | 
             
            - spec/rails_app/app/active_record/user.rb
         | 
| 303 310 | 
             
            - spec/rails_app/app/active_record/user_provider.rb
         | 
| 311 | 
            +
            - spec/rails_app/app/assets/config/manifest.js
         | 
| 312 | 
            +
            - spec/rails_app/app/controllers/application_controller.rb
         | 
| 304 313 | 
             
            - spec/rails_app/app/controllers/sorcery_controller.rb
         | 
| 305 314 | 
             
            - spec/rails_app/app/helpers/application_helper.rb
         | 
| 306 315 | 
             
            - spec/rails_app/app/mailers/sorcery_mailer.rb
         | 
| @@ -354,6 +363,8 @@ files: | |
| 354 363 | 
             
            - spec/spec.opts
         | 
| 355 364 | 
             
            - spec/spec_helper.rb
         | 
| 356 365 | 
             
            - spec/support/migration_helper.rb
         | 
| 366 | 
            +
            - spec/support/providers/example.rb
         | 
| 367 | 
            +
            - spec/support/providers/example_provider.rb
         | 
| 357 368 | 
             
            homepage: https://github.com/Sorcery/sorcery
         | 
| 358 369 | 
             
            licenses:
         | 
| 359 370 | 
             
            - MIT
         | 
| @@ -368,15 +379,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 368 379 | 
             
              requirements:
         | 
| 369 380 | 
             
              - - ">="
         | 
| 370 381 | 
             
                - !ruby/object:Gem::Version
         | 
| 371 | 
            -
                  version: 2. | 
| 382 | 
            +
                  version: 2.4.9
         | 
| 372 383 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 373 384 | 
             
              requirements:
         | 
| 374 385 | 
             
              - - ">="
         | 
| 375 386 | 
             
                - !ruby/object:Gem::Version
         | 
| 376 387 | 
             
                  version: '0'
         | 
| 377 388 | 
             
            requirements: []
         | 
| 378 | 
            -
             | 
| 379 | 
            -
            rubygems_version: 2.7.7
         | 
| 389 | 
            +
            rubygems_version: 3.1.4
         | 
| 380 390 | 
             
            signing_key: 
         | 
| 381 391 | 
             
            specification_version: 4
         | 
| 382 392 | 
             
            summary: Magical authentication for Rails applications
         | 
    
        data/.travis.yml
    DELETED
    
    | @@ -1,38 +0,0 @@ | |
| 1 | 
            -
            language: ruby
         | 
| 2 | 
            -
            rvm:
         | 
| 3 | 
            -
              - 2.2.9
         | 
| 4 | 
            -
              - 2.3.6
         | 
| 5 | 
            -
              - 2.4.3
         | 
| 6 | 
            -
              - 2.5.0
         | 
| 7 | 
            -
             | 
| 8 | 
            -
            gemfile:
         | 
| 9 | 
            -
              - Gemfile
         | 
| 10 | 
            -
              - gemfiles/active_record_rails_40.gemfile
         | 
| 11 | 
            -
              - gemfiles/active_record_rails_41.gemfile
         | 
| 12 | 
            -
              - gemfiles/active_record_rails_42.gemfile
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            before_script:
         | 
| 15 | 
            -
              - mysql -e 'create database sorcery_test;'
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            before_install:
         | 
| 18 | 
            -
              - rvm get stable --auto-dotfiles
         | 
| 19 | 
            -
              - gem update bundler
         | 
| 20 | 
            -
             | 
| 21 | 
            -
            matrix:
         | 
| 22 | 
            -
              exclude:
         | 
| 23 | 
            -
                - rvm: 2.2.9
         | 
| 24 | 
            -
                  gemfile: gemfiles/active_record_rails_40.gemfile
         | 
| 25 | 
            -
                - rvm: 2.3.6
         | 
| 26 | 
            -
                  gemfile: gemfiles/active_record_rails_40.gemfile
         | 
| 27 | 
            -
                - rvm: 2.4.3
         | 
| 28 | 
            -
                  gemfile: gemfiles/active_record_rails_40.gemfile
         | 
| 29 | 
            -
                - rvm: 2.4.3
         | 
| 30 | 
            -
                  gemfile: gemfiles/active_record_rails_41.gemfile
         | 
| 31 | 
            -
                - rvm: 2.4.3
         | 
| 32 | 
            -
                  gemfile: gemfiles/active_record_rails_42.gemfile
         | 
| 33 | 
            -
                - rvm: 2.5.0
         | 
| 34 | 
            -
                  gemfile: gemfiles/active_record_rails_40.gemfile
         | 
| 35 | 
            -
                - rvm: 2.5.0
         | 
| 36 | 
            -
                  gemfile: gemfiles/active_record_rails_41.gemfile
         | 
| 37 | 
            -
                - rvm: 2.5.0
         | 
| 38 | 
            -
                  gemfile: gemfiles/active_record_rails_42.gemfile
         |