omniauth-multipassword 2.0.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22cda2cc2846bbe4d81087736f52e35f63c590595e6fc384006b0af8da14802f
4
- data.tar.gz: 0600cb2dbafa41d13aeee34bda46ecb0263546489903aa68444d05126ade735c
3
+ metadata.gz: db4e255ccd2a90d205d8ad9b0a6aea7456e4af42d9d30ad88bcd32b59b5619b9
4
+ data.tar.gz: acce514c49e0fe34f39ce6161a9bb4277720d5af0dfb10056726c3c7761b235a
5
5
  SHA512:
6
- metadata.gz: f3148c680d27dd56bae5325280e49670cd905d42d6e79cb668b01f0eb8951605bd27816233f3f55cef452c1a67215a94c6b25280dc6083eae3796c1eb12c2ce3
7
- data.tar.gz: 6b48ab914cd47ff3b8b9641d52f1618050b5cafec8e1f171528eae6f7c8cbe909dd4095fbadc2b92caca6a9f25c002a06e9ab4ee837e8b504d1c031502772f26
6
+ metadata.gz: 8830e6455ecc2205409219603966056d9a99ee4b9cf556216c77113e0f323c6df78993d4631b96066d179bf16d3deedd225c04eb4c20b218cd2c7df574e1e7e6
7
+ data.tar.gz: 858305c757402a42b61d0cf90b493b1a82f0d928e5ec3991c78ca56aa27edbf5caab08b169eb6e463960ada74030d3a5e30bf182f3c4c706ac9edc4143b270b7
@@ -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 }}
@@ -8,7 +8,7 @@ on:
8
8
  jobs:
9
9
  rspec:
10
10
  name: "Ruby ${{ matrix.ruby }} / ${{ matrix.gemfile }}"
11
- runs-on: ubuntu-22.04
11
+ runs-on: ubuntu-24.04
12
12
 
13
13
  strategy:
14
14
  fail-fast: false
@@ -47,13 +47,13 @@ jobs:
47
47
 
48
48
  rubocop:
49
49
  name: rubocop
50
- runs-on: ubuntu-22.04
50
+ runs-on: ubuntu-24.04
51
51
 
52
52
  steps:
53
53
  - uses: actions/checkout@master
54
54
  - uses: ruby/setup-ruby@v1
55
55
  with:
56
- ruby-version: "3.3"
56
+ ruby-version: "3.3.5"
57
57
  bundler-cache: true
58
58
  env:
59
59
  BUNDLE_JOBS: 4
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/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Ch
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [2.1.0] - 2024-11-06
9
+
10
+ ### Changed
11
+
12
+ - Pass GET requests to the app if not on the request path by @larskanis
13
+
8
14
  ## [2.0.1] - 2024-07-20
9
15
 
10
16
  ### Changed
@@ -22,6 +28,7 @@ This project adheres to [Semantic Versioning](http://semver.org/) and [Keep a Ch
22
28
  - Updated strategy to OmniAuth >= 2.0
23
29
  - Drop support for Ruby < 2.7
24
30
 
25
- [Unreleased]: https://github.com/jgraichen/omniauth-multipassword/compare/v2.0.1...HEAD
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
26
33
  [2.0.1]: https://github.com/jgraichen/omniauth-multipassword/compare/v2.0.0...v2.0.1
27
34
  [2.0.0]: https://github.com/jgraichen/omniauth-multipassword/releases/tag/v2.0.0
data/Gemfile CHANGED
@@ -10,11 +10,11 @@ gem 'appraisal'
10
10
  gem 'rake'
11
11
  gem 'rake-release'
12
12
 
13
+ gem 'rspec', '~> 3.0'
14
+
13
15
  group :test do
14
16
  gem 'rack-test'
15
17
 
16
- gem 'rspec', '~> 3.0'
17
-
18
18
  gem 'simplecov'
19
19
  gem 'simplecov-cobertura'
20
20
  end
data/README.md CHANGED
@@ -1,32 +1,39 @@
1
1
  # Omniauth::Multipassword
2
2
 
3
- [![Build Status](https://travis-ci.org/jgraichen/omniauth-multipassword.svg?branch=master)](https://travis-ci.org/jgraichen/omniauth-multipassword)
3
+ [![Gem Version](https://img.shields.io/gem/v/omniauth-multipassword?logo=ruby)](https://rubygems.org/gems/omniauth-multipassword)
4
+ [![Workflow Status](https://img.shields.io/github/actions/workflow/status/jgraichen/omniauth-multipassword/test.yml?logo=github)](https://github.com/jgraichen/omniauth-multipassword/actions)
5
+ [![Test Coverage](https://img.shields.io/codecov/c/github/jgraichen/omniauth-multipassword?logo=codecov&logoColor=white)](https://app.codecov.io/gh/jgraichen/omniauth-multipassword)
4
6
  [![Code Climate](https://codeclimate.com/github/jgraichen/omniauth-multipassword/badges/gpa.svg)](https://codeclimate.com/github/jgraichen/omniauth-multipassword)
5
- [![Test Coverage](https://codeclimate.com/github/jgraichen/omniauth-multipassword/badges/coverage.svg)](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
- gem 'omniauth-multipassword'
15
+ ```ruby
16
+ gem 'omniauth-multipassword'
17
+ ```
16
18
 
17
19
  Add multipassword compatible omniauth strategies you want to use:
18
20
 
19
- gem 'omniauth-internal'
20
- gem 'omniauth-kerberos'
21
+ ```ruby
22
+ gem 'omniauth-internal'
23
+ gem 'omniauth-kerberos'
24
+ ```
21
25
 
22
26
  And then execute:
23
27
 
24
- $ bundle
28
+ ```console
29
+ bundle
30
+ ```
25
31
 
26
32
  Or install it yourself as:
27
33
 
28
- $ gem install omniauth-multipassword
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
- ** title **
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
- ** fields **
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
- * [omniauth-internal](https://github.com/jgraichen/omniauth-internal)
55
- * [omniauth-kerberos](https://github.com/jgraichen/omniauth-kerberos)
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 (c) 2012, Jan Graichen
75
+ Copyright © 2012, Jan Graichen
@@ -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
- request_phase if on_request_path?
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,8 +4,8 @@ module Omniauth
4
4
  module Multipassword
5
5
  module VERSION
6
6
  MAJOR = 2
7
- MINOR = 0
8
- PATCH = 1
7
+ MINOR = 1
8
+ PATCH = 0
9
9
  STAGE = nil
10
10
 
11
11
  def self.to_s
@@ -46,6 +46,9 @@ describe OmniAuth::MultiPassword::Base do # rubocop:disable RSpec/SpecFilePathFo
46
46
  Rack::Builder.new do
47
47
  use OmniAuth::Test::PhonySession
48
48
  use OmniAuth::Strategies::OneTest
49
+ map '/app-ok' do
50
+ run ->(env) { [200, {'Content-Type' => 'text/plain'}, ['OK']] }
51
+ end
49
52
  run ->(env) { [404, {'Content-Type' => 'text/plain'}, [env.key?('omniauth.auth').to_s]] }
50
53
  end.to_app
51
54
  end
@@ -66,5 +69,10 @@ describe OmniAuth::MultiPassword::Base do # rubocop:disable RSpec/SpecFilePathFo
66
69
  post '/auth/onetest/callback', username: 'john', password: 'secret'
67
70
  expect(last_response.body).to eq 'true'
68
71
  end
72
+
73
+ it 'shows app page' do
74
+ get '/app-ok'
75
+ expect(last_response.body).to eq 'OK'
76
+ end
69
77
  end
70
78
  end
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.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Graichen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-20 00:00:00.000000000 Z
11
+ date: 2024-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth
@@ -34,8 +34,10 @@ files:
34
34
  - ".editorconfig"
35
35
  - ".github/workflows/maintenance-cache-wipe.yml"
36
36
  - ".github/workflows/maintenance-workflow-cleanup.yml"
37
+ - ".github/workflows/release.yml"
37
38
  - ".github/workflows/test.yml"
38
39
  - ".gitignore"
40
+ - ".markdownlint.yml"
39
41
  - ".rspec"
40
42
  - ".rubocop.yml"
41
43
  - Appraisals
@@ -76,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
78
  - !ruby/object:Gem::Version
77
79
  version: '0'
78
80
  requirements: []
79
- rubygems_version: 3.5.11
81
+ rubygems_version: 3.5.22
80
82
  signing_key:
81
83
  specification_version: 4
82
84
  summary: A OmniAuth strategy to authenticate using different passwort strategies.