omniauth-multipassword 2.0.0.rc1 → 2.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 +4 -4
- data/.github/workflows/maintenance-cache-wipe.yml +13 -0
- data/.github/workflows/maintenance-workflow-cleanup.yml +17 -0
- data/.github/workflows/release.yml +36 -0
- data/.github/workflows/test.yml +28 -12
- data/.gitignore +5 -5
- data/.markdownlint.yml +26 -0
- data/.rubocop.yml +2 -2
- data/Appraisals +9 -0
- data/CHANGELOG.md +23 -7
- data/Gemfile +9 -5
- data/README.md +29 -16
- data/gemfiles/omniauth_2.0.gemfile +21 -0
- data/gemfiles/omniauth_2.1.gemfile +21 -0
- data/lib/omniauth/multipassword/base.rb +9 -5
- data/lib/omniauth/multipassword/version.rb +3 -3
- data/lib/omniauth/strategies/multi_password.rb +2 -2
- data/omniauth-multipassword.gemspec +3 -4
- data/renovate.json +6 -0
- data/spec/omniauth/multipassword/base_spec.rb +9 -3
- data/spec/omniauth/strategy/multi_password_spec.rb +1 -1
- data/spec/spec_helper.rb +7 -5
- metadata +17 -10
- data/.travis.yml +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: db4e255ccd2a90d205d8ad9b0a6aea7456e4af42d9d30ad88bcd32b59b5619b9
|
|
4
|
+
data.tar.gz: acce514c49e0fe34f39ce6161a9bb4277720d5af0dfb10056726c3c7761b235a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8830e6455ecc2205409219603966056d9a99ee4b9cf556216c77113e0f323c6df78993d4631b96066d179bf16d3deedd225c04eb4c20b218cd2c7df574e1e7e6
|
|
7
|
+
data.tar.gz: 858305c757402a42b61d0cf90b493b1a82f0d928e5ec3991c78ca56aa27edbf5caab08b169eb6e463960ada74030d3a5e30bf182f3c4c706ac9edc4143b270b7
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maintenance-workflow-cleanup
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: "0 0 1 * *"
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
delete-workflow-runs:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: Mattraks/delete-workflow-runs@v2
|
|
13
|
+
with:
|
|
14
|
+
token: ${{ github.token }}
|
|
15
|
+
repository: ${{ github.repository }}
|
|
16
|
+
retain_days: 180
|
|
17
|
+
keep_minimum_runs: 50
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- v*
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
rubygems:
|
|
10
|
+
if: github.repository == 'jgraichen/omniauth-multipassword'
|
|
11
|
+
runs-on: ubuntu-24.04
|
|
12
|
+
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
id-token: write
|
|
16
|
+
|
|
17
|
+
env:
|
|
18
|
+
BUNDLE_JOBS: 4
|
|
19
|
+
BUNDLE_RETRY: 10
|
|
20
|
+
BUNDLE_WITHOUT: development test
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
|
|
25
|
+
- uses: ruby/setup-ruby@v1
|
|
26
|
+
with:
|
|
27
|
+
ruby-version: ruby
|
|
28
|
+
bundler-cache: true
|
|
29
|
+
|
|
30
|
+
- uses: rubygems/release-gem@v1
|
|
31
|
+
|
|
32
|
+
- uses: taiki-e/create-gh-release-action@v1
|
|
33
|
+
with:
|
|
34
|
+
changelog: CHANGELOG.md
|
|
35
|
+
draft: true
|
|
36
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
data/.github/workflows/test.yml
CHANGED
|
@@ -1,45 +1,61 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: test
|
|
3
|
-
on:
|
|
3
|
+
on:
|
|
4
|
+
- push
|
|
5
|
+
- pull_request
|
|
6
|
+
- workflow_dispatch
|
|
7
|
+
|
|
4
8
|
jobs:
|
|
5
9
|
rspec:
|
|
6
|
-
name: "Ruby ${{ matrix.ruby }}"
|
|
7
|
-
runs-on: ubuntu-
|
|
10
|
+
name: "Ruby ${{ matrix.ruby }} / ${{ matrix.gemfile }}"
|
|
11
|
+
runs-on: ubuntu-24.04
|
|
8
12
|
|
|
9
13
|
strategy:
|
|
10
14
|
fail-fast: false
|
|
11
15
|
matrix:
|
|
12
16
|
ruby:
|
|
17
|
+
- "3.3"
|
|
18
|
+
- "3.2"
|
|
19
|
+
- "3.1"
|
|
13
20
|
- "3.0"
|
|
14
21
|
- "2.7"
|
|
15
|
-
|
|
16
|
-
-
|
|
22
|
+
gemfile:
|
|
23
|
+
- omniauth_2.0
|
|
24
|
+
- omniauth_2.1
|
|
25
|
+
|
|
26
|
+
env:
|
|
27
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
|
28
|
+
BUNDLE_WITHOUT: development
|
|
17
29
|
|
|
18
30
|
steps:
|
|
19
31
|
- uses: actions/checkout@master
|
|
20
32
|
- uses: ruby/setup-ruby@v1
|
|
21
33
|
with:
|
|
22
34
|
ruby-version: ${{ matrix.ruby }}
|
|
23
|
-
bundler-cache:
|
|
35
|
+
bundler-cache: true
|
|
24
36
|
env:
|
|
25
|
-
BUNDLE_WITHOUT: development
|
|
26
37
|
BUNDLE_JOBS: 4
|
|
27
38
|
BUNDLE_RETRY: 3
|
|
28
39
|
|
|
29
|
-
- run:
|
|
40
|
+
- run: |
|
|
41
|
+
bundle exec rspec --color --format documentation
|
|
42
|
+
|
|
43
|
+
- uses: codecov/codecov-action@v4
|
|
44
|
+
with:
|
|
45
|
+
fail_ci_if_error: true
|
|
46
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
30
47
|
|
|
31
48
|
rubocop:
|
|
32
49
|
name: rubocop
|
|
33
|
-
runs-on: ubuntu-
|
|
50
|
+
runs-on: ubuntu-24.04
|
|
34
51
|
|
|
35
52
|
steps:
|
|
36
53
|
- uses: actions/checkout@master
|
|
37
54
|
- uses: ruby/setup-ruby@v1
|
|
38
55
|
with:
|
|
39
|
-
ruby-version: 3.
|
|
40
|
-
bundler-cache:
|
|
56
|
+
ruby-version: "3.3.5"
|
|
57
|
+
bundler-cache: true
|
|
41
58
|
env:
|
|
42
|
-
BUNDLE_WITHOUT: development
|
|
43
59
|
BUNDLE_JOBS: 4
|
|
44
60
|
BUNDLE_RETRY: 3
|
|
45
61
|
|
data/.gitignore
CHANGED
data/.markdownlint.yml
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# markdownlint config
|
|
2
|
+
|
|
3
|
+
# The CHANGELOG contains duplicated headers by design
|
|
4
|
+
MD024: false
|
|
5
|
+
|
|
6
|
+
# MD013/line-length: disable line length for all. We prefer lines as
|
|
7
|
+
# long as paragraph with in-editor line breaks.
|
|
8
|
+
MD013: false
|
|
9
|
+
|
|
10
|
+
# MD033/no-inline-html: allow often need tags
|
|
11
|
+
MD033:
|
|
12
|
+
allowed_elements:
|
|
13
|
+
- code
|
|
14
|
+
- dd
|
|
15
|
+
- dl
|
|
16
|
+
- dt
|
|
17
|
+
- figcaption
|
|
18
|
+
- figure
|
|
19
|
+
|
|
20
|
+
# MD046/code-block-style: code block style conflicting with
|
|
21
|
+
# admonitions...
|
|
22
|
+
MD046: false
|
|
23
|
+
|
|
24
|
+
# MD048/code-fence-style: code fence style
|
|
25
|
+
MD048:
|
|
26
|
+
style: backtick
|
data/.rubocop.yml
CHANGED
data/Appraisals
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -3,16 +3,32 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Changelog](http://keepachangelog.com/).
|
|
5
5
|
|
|
6
|
-
## Unreleased
|
|
7
|
-
---
|
|
6
|
+
## [Unreleased]
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
## [2.1.0] - 2024-11-06
|
|
10
9
|
|
|
11
|
-
###
|
|
10
|
+
### Changed
|
|
12
11
|
|
|
13
|
-
|
|
12
|
+
- Pass GET requests to the app if not on the request path by @larskanis
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
* Updated strategy to OmniAuth >= 2.0
|
|
14
|
+
## [2.0.1] - 2024-07-20
|
|
17
15
|
|
|
16
|
+
### Changed
|
|
18
17
|
|
|
18
|
+
- Version bump due to wrong tag
|
|
19
|
+
|
|
20
|
+
## [2.0.0] - 2024-07-20
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- Add compatibility with newer Rack and OmniAuth 2.1+
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Updated strategy to OmniAuth >= 2.0
|
|
29
|
+
- Drop support for Ruby < 2.7
|
|
30
|
+
|
|
31
|
+
[Unreleased]: https://github.com/jgraichen/omniauth-multipassword/compare/v2.1.1...HEAD
|
|
32
|
+
[2.1.0]: https://github.com/jgraichen/omniauth-multipassword/compare/v2.0.1...v2.1.0
|
|
33
|
+
[2.0.1]: https://github.com/jgraichen/omniauth-multipassword/compare/v2.0.0...v2.0.1
|
|
34
|
+
[2.0.0]: https://github.com/jgraichen/omniauth-multipassword/releases/tag/v2.0.0
|
data/Gemfile
CHANGED
|
@@ -5,16 +5,20 @@ source 'https://rubygems.org'
|
|
|
5
5
|
# Specify your gem's dependencies in omniauth-multipassword.gemspec
|
|
6
6
|
gemspec
|
|
7
7
|
|
|
8
|
+
gem 'appraisal'
|
|
9
|
+
|
|
8
10
|
gem 'rake'
|
|
9
11
|
gem 'rake-release'
|
|
10
12
|
|
|
13
|
+
gem 'rspec', '~> 3.0'
|
|
14
|
+
|
|
11
15
|
group :test do
|
|
12
16
|
gem 'rack-test'
|
|
13
17
|
|
|
14
|
-
gem '
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
gem 'simplecov', require: false
|
|
18
|
+
gem 'simplecov'
|
|
19
|
+
gem 'simplecov-cobertura'
|
|
20
|
+
end
|
|
18
21
|
|
|
19
|
-
|
|
22
|
+
group :development do
|
|
23
|
+
gem 'rubocop-config', github: 'jgraichen/rubocop-config', ref: 'v12'
|
|
20
24
|
end
|
data/README.md
CHANGED
|
@@ -1,32 +1,39 @@
|
|
|
1
1
|
# Omniauth::Multipassword
|
|
2
2
|
|
|
3
|
-
[](https://rubygems.org/gems/omniauth-multipassword)
|
|
4
|
+
[](https://github.com/jgraichen/omniauth-multipassword/actions)
|
|
5
|
+
[](https://app.codecov.io/gh/jgraichen/omniauth-multipassword)
|
|
4
6
|
[](https://codeclimate.com/github/jgraichen/omniauth-multipassword)
|
|
5
|
-
[](https://codeclimate.com/github/jgraichen/omniauth-multipassword/coverage)
|
|
6
7
|
|
|
7
8
|
**omniauth-multipassword** is a [OmniAuth](https://github.com/intridea/omniauth)
|
|
8
9
|
strategy that allows to authenticate again different password strategies at once.
|
|
9
10
|
|
|
10
|
-
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
13
|
Add this line to your application's Gemfile:
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
```ruby
|
|
16
|
+
gem 'omniauth-multipassword'
|
|
17
|
+
```
|
|
16
18
|
|
|
17
19
|
Add multipassword compatible omniauth strategies you want to use:
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
```ruby
|
|
22
|
+
gem 'omniauth-internal'
|
|
23
|
+
gem 'omniauth-kerberos'
|
|
24
|
+
```
|
|
21
25
|
|
|
22
26
|
And then execute:
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
```console
|
|
29
|
+
bundle
|
|
30
|
+
```
|
|
25
31
|
|
|
26
32
|
Or install it yourself as:
|
|
27
33
|
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
```console
|
|
35
|
+
gem install omniauth-multipassword
|
|
36
|
+
```
|
|
30
37
|
|
|
31
38
|
## Usage
|
|
32
39
|
|
|
@@ -37,26 +44,32 @@ Rails.application.config.middleware.use OmniAuth::Strategies::MultiPassword, fie
|
|
|
37
44
|
end
|
|
38
45
|
```
|
|
39
46
|
|
|
40
|
-
|
|
41
47
|
## Options
|
|
42
48
|
|
|
43
|
-
|
|
49
|
+
<dl>
|
|
50
|
+
<dt><code>title</code></dt>
|
|
51
|
+
<dd>
|
|
52
|
+
|
|
44
53
|
The title text shown on default login form.
|
|
45
54
|
(default: `"Restricted Access"`)
|
|
46
55
|
|
|
47
|
-
|
|
56
|
+
</dd>
|
|
57
|
+
<dt><code>fields</code></dt>
|
|
58
|
+
<dd>
|
|
59
|
+
|
|
48
60
|
The request parameter names to fetch username and password.
|
|
49
61
|
(default: `[ "username", "password" ]`)
|
|
50
62
|
|
|
63
|
+
</dd>
|
|
64
|
+
</dl>
|
|
51
65
|
|
|
52
66
|
### Compatible Strategies
|
|
53
67
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
68
|
+
- [omniauth-internal](https://github.com/jgraichen/omniauth-internal)
|
|
69
|
+
- [omniauth-kerberos](https://github.com/jgraichen/omniauth-kerberos)
|
|
57
70
|
|
|
58
71
|
## License
|
|
59
72
|
|
|
60
73
|
[MIT License](http://www.opensource.org/licenses/mit-license.php)
|
|
61
74
|
|
|
62
|
-
Copyright
|
|
75
|
+
Copyright © 2012, Jan Graichen
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was generated by Appraisal
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
gem "appraisal"
|
|
6
|
+
gem "rake"
|
|
7
|
+
gem "rake-release"
|
|
8
|
+
gem "omniauth", "~> 2.0.0"
|
|
9
|
+
|
|
10
|
+
group :test do
|
|
11
|
+
gem "rack-test"
|
|
12
|
+
gem "rspec", "~> 3.0"
|
|
13
|
+
gem "simplecov"
|
|
14
|
+
gem "simplecov-cobertura"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
group :development do
|
|
18
|
+
gem "rubocop-config", github: "jgraichen/rubocop-config", ref: "v12"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
gemspec path: "../"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was generated by Appraisal
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
gem "appraisal"
|
|
6
|
+
gem "rake"
|
|
7
|
+
gem "rake-release"
|
|
8
|
+
gem "omniauth", "~> 2.1"
|
|
9
|
+
|
|
10
|
+
group :test do
|
|
11
|
+
gem "rack-test"
|
|
12
|
+
gem "rspec", "~> 3.0"
|
|
13
|
+
gem "simplecov"
|
|
14
|
+
gem "simplecov-cobertura"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
group :development do
|
|
18
|
+
gem "rubocop-config", github: "jgraichen/rubocop-config", ref: "v12"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
gemspec path: "../"
|
|
@@ -13,15 +13,15 @@ module OmniAuth
|
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def username_id
|
|
16
|
-
options
|
|
16
|
+
options.dig(:fields, 0) || 'username'
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def password_id
|
|
20
|
-
options
|
|
20
|
+
options.dig(:fields, 1) || 'password'
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def username
|
|
24
|
-
@username || request[username_id].to_s
|
|
24
|
+
@username || request.params[username_id.to_s].to_s
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
def init_authenticator(request, env, username)
|
|
@@ -31,7 +31,7 @@ module OmniAuth
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
def callback_phase
|
|
34
|
-
if authenticate(username, request[password_id])
|
|
34
|
+
if authenticate(username, request.params[password_id.to_s])
|
|
35
35
|
super
|
|
36
36
|
else
|
|
37
37
|
fail!(:invalid_credentials)
|
|
@@ -49,7 +49,11 @@ module OmniAuth
|
|
|
49
49
|
# OmniAuth, by default, disables "GET" requests for security reasons.
|
|
50
50
|
# This effectively disables showing a password form on a GET request to
|
|
51
51
|
# the `request_phase`. Instead, we hook the GET requests here.
|
|
52
|
-
|
|
52
|
+
if on_request_path?
|
|
53
|
+
request_phase
|
|
54
|
+
else
|
|
55
|
+
call_app!
|
|
56
|
+
end
|
|
53
57
|
end
|
|
54
58
|
end
|
|
55
59
|
end
|
|
@@ -4,12 +4,12 @@ module Omniauth
|
|
|
4
4
|
module Multipassword
|
|
5
5
|
module VERSION
|
|
6
6
|
MAJOR = 2
|
|
7
|
-
MINOR =
|
|
7
|
+
MINOR = 1
|
|
8
8
|
PATCH = 0
|
|
9
|
-
STAGE =
|
|
9
|
+
STAGE = nil
|
|
10
10
|
|
|
11
11
|
def self.to_s
|
|
12
|
-
[MAJOR, MINOR, PATCH, STAGE].
|
|
12
|
+
[MAJOR, MINOR, PATCH, STAGE].compact.join '.'
|
|
13
13
|
end
|
|
14
14
|
end
|
|
15
15
|
end
|
|
@@ -44,8 +44,8 @@ module OmniAuth
|
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def callback_phase
|
|
47
|
-
username = request[username_id].to_s
|
|
48
|
-
password = request[password_id].to_s
|
|
47
|
+
username = request.params[username_id.to_s].to_s
|
|
48
|
+
password = request.params[password_id.to_s].to_s
|
|
49
49
|
if authenticate(username, password)
|
|
50
50
|
super
|
|
51
51
|
else
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
require File.expand_path('lib/omniauth/multipassword/version', __dir__)
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |gem|
|
|
6
|
+
gem.name = 'omniauth-multipassword'
|
|
7
|
+
gem.version = Omniauth::Multipassword::VERSION
|
|
6
8
|
gem.authors = ['Jan Graichen']
|
|
7
9
|
gem.email = ['jgraichen@altimos.de']
|
|
8
10
|
gem.description = 'A OmniAuth strategy to authenticate using different passwort strategies.'
|
|
@@ -10,17 +12,14 @@ Gem::Specification.new do |gem|
|
|
|
10
12
|
gem.homepage = 'https://github.com/jgraichen/omniauth-multipassword'
|
|
11
13
|
gem.license = 'MIT'
|
|
12
14
|
|
|
13
|
-
gem.required_ruby_version = '>= 2.
|
|
15
|
+
gem.required_ruby_version = '>= 2.7'
|
|
14
16
|
gem.metadata = {
|
|
15
17
|
'rubygems_mfa_required' => 'true',
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
gem.executables = `git ls-files -- bin/*`.split("\n").map {|f| File.basename(f) }
|
|
19
21
|
gem.files = `git ls-files`.split("\n")
|
|
20
|
-
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
21
|
-
gem.name = 'omniauth-multipassword'
|
|
22
22
|
gem.require_paths = ['lib']
|
|
23
|
-
gem.version = Omniauth::Multipassword::VERSION
|
|
24
23
|
|
|
25
24
|
gem.add_dependency 'omniauth', '~> 2.0'
|
|
26
25
|
end
|
data/renovate.json
ADDED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
require 'rack/test'
|
|
5
5
|
|
|
6
|
-
describe OmniAuth::MultiPassword::Base do # rubocop:disable RSpec/
|
|
7
|
-
subject { strategy }
|
|
8
|
-
|
|
6
|
+
describe OmniAuth::MultiPassword::Base do # rubocop:disable RSpec/SpecFilePathFormat subject { strategy }
|
|
9
7
|
let(:app) { instance_double(Proc) }
|
|
10
8
|
let(:strategy) do
|
|
11
9
|
OmniAuth::Strategies::OneTest.new(app, *args, &block)
|
|
@@ -48,6 +46,9 @@ describe OmniAuth::MultiPassword::Base do # rubocop:disable RSpec/FilePath
|
|
|
48
46
|
Rack::Builder.new do
|
|
49
47
|
use OmniAuth::Test::PhonySession
|
|
50
48
|
use OmniAuth::Strategies::OneTest
|
|
49
|
+
map '/app-ok' do
|
|
50
|
+
run ->(env) { [200, {'Content-Type' => 'text/plain'}, ['OK']] }
|
|
51
|
+
end
|
|
51
52
|
run ->(env) { [404, {'Content-Type' => 'text/plain'}, [env.key?('omniauth.auth').to_s]] }
|
|
52
53
|
end.to_app
|
|
53
54
|
end
|
|
@@ -68,5 +69,10 @@ describe OmniAuth::MultiPassword::Base do # rubocop:disable RSpec/FilePath
|
|
|
68
69
|
post '/auth/onetest/callback', username: 'john', password: 'secret'
|
|
69
70
|
expect(last_response.body).to eq 'true'
|
|
70
71
|
end
|
|
72
|
+
|
|
73
|
+
it 'shows app page' do
|
|
74
|
+
get '/app-ok'
|
|
75
|
+
expect(last_response.body).to eq 'OK'
|
|
76
|
+
end
|
|
71
77
|
end
|
|
72
78
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
require 'spec_helper'
|
|
4
4
|
require 'rack/test'
|
|
5
5
|
|
|
6
|
-
describe OmniAuth::Strategies::MultiPassword do # rubocop:disable RSpec/
|
|
6
|
+
describe OmniAuth::Strategies::MultiPassword do # rubocop:disable RSpec/SpecFilePathFormat
|
|
7
7
|
include Rack::Test::Methods
|
|
8
8
|
|
|
9
9
|
let(:app) do
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'rspec'
|
|
4
|
-
require 'simplecov'
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
|
9
|
-
end
|
|
5
|
+
require 'simplecov'
|
|
6
|
+
require 'simplecov-cobertura'
|
|
10
7
|
|
|
11
8
|
SimpleCov.start do
|
|
12
9
|
add_filter 'spec'
|
|
13
10
|
end
|
|
14
11
|
|
|
12
|
+
SimpleCov.formatters = [
|
|
13
|
+
SimpleCov::Formatter::HTMLFormatter,
|
|
14
|
+
SimpleCov::Formatter::CoberturaFormatter,
|
|
15
|
+
]
|
|
16
|
+
|
|
15
17
|
require 'omniauth-multipassword'
|
|
16
18
|
|
|
17
19
|
Dir[File.expand_path('spec/support/**/*.rb')].sort.each {|f| require f }
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: omniauth-multipassword
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jan Graichen
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-11-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: omniauth
|
|
@@ -32,21 +32,28 @@ extensions: []
|
|
|
32
32
|
extra_rdoc_files: []
|
|
33
33
|
files:
|
|
34
34
|
- ".editorconfig"
|
|
35
|
+
- ".github/workflows/maintenance-cache-wipe.yml"
|
|
36
|
+
- ".github/workflows/maintenance-workflow-cleanup.yml"
|
|
37
|
+
- ".github/workflows/release.yml"
|
|
35
38
|
- ".github/workflows/test.yml"
|
|
36
39
|
- ".gitignore"
|
|
40
|
+
- ".markdownlint.yml"
|
|
37
41
|
- ".rspec"
|
|
38
42
|
- ".rubocop.yml"
|
|
39
|
-
-
|
|
43
|
+
- Appraisals
|
|
40
44
|
- CHANGELOG.md
|
|
41
45
|
- Gemfile
|
|
42
46
|
- LICENSE
|
|
43
47
|
- README.md
|
|
44
48
|
- Rakefile
|
|
49
|
+
- gemfiles/omniauth_2.0.gemfile
|
|
50
|
+
- gemfiles/omniauth_2.1.gemfile
|
|
45
51
|
- lib/omniauth-multipassword.rb
|
|
46
52
|
- lib/omniauth/multipassword/base.rb
|
|
47
53
|
- lib/omniauth/multipassword/version.rb
|
|
48
54
|
- lib/omniauth/strategies/multi_password.rb
|
|
49
55
|
- omniauth-multipassword.gemspec
|
|
56
|
+
- renovate.json
|
|
50
57
|
- spec/omniauth/multipassword/base_spec.rb
|
|
51
58
|
- spec/omniauth/strategy/multi_password_spec.rb
|
|
52
59
|
- spec/spec_helper.rb
|
|
@@ -56,7 +63,7 @@ licenses:
|
|
|
56
63
|
- MIT
|
|
57
64
|
metadata:
|
|
58
65
|
rubygems_mfa_required: 'true'
|
|
59
|
-
post_install_message:
|
|
66
|
+
post_install_message:
|
|
60
67
|
rdoc_options: []
|
|
61
68
|
require_paths:
|
|
62
69
|
- lib
|
|
@@ -64,15 +71,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
64
71
|
requirements:
|
|
65
72
|
- - ">="
|
|
66
73
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '2.
|
|
74
|
+
version: '2.7'
|
|
68
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
76
|
requirements:
|
|
70
|
-
- - "
|
|
77
|
+
- - ">="
|
|
71
78
|
- !ruby/object:Gem::Version
|
|
72
|
-
version:
|
|
79
|
+
version: '0'
|
|
73
80
|
requirements: []
|
|
74
|
-
rubygems_version: 3.
|
|
75
|
-
signing_key:
|
|
81
|
+
rubygems_version: 3.5.22
|
|
82
|
+
signing_key:
|
|
76
83
|
specification_version: 4
|
|
77
84
|
summary: A OmniAuth strategy to authenticate using different passwort strategies.
|
|
78
85
|
test_files: []
|