omniauth-skubana 0.1.2 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7cd05be9bdf0ec07c398468998ef496aa1d2ae10e2861748844300f5bc52e985
4
- data.tar.gz: 3dcbf6c2e6f253d65fa617b61c5bcbcebef60e0e0b9eb127b5c484e883729ef2
3
+ metadata.gz: 80d19c6f5ab2fb372a01532cfb1814e2ae34efbf840323a89f8c425a399a780d
4
+ data.tar.gz: 19781d6be1140de429cb33a8580fcc37ac67a7eb9699c18b149f500323e25d8c
5
5
  SHA512:
6
- metadata.gz: 3553d866b7ee643ee99ef5fc6638ec31daf782d8026cc548c0e22b61d7cb58a2290a9f9f131bfd4f908ded0297c0220b7bd2b8d798595673d688953601635726
7
- data.tar.gz: 0cd9a0ab7b33792dd788fa8fb2d404150943f1ff26689b93d1cfa6417353307775b9c6e5ca3e0c723cb45d22be45361b99506451833ab223b89a2b0c4a348ece
6
+ metadata.gz: da2d068c3a63273dba2e8449ca7b339c52385c57a1a4390a312b112a2a9f7eb79d8bf8e96fa4e8e1d9a69ef043da0541ee085e6f04c911c2ab59a1b2eb42cd58
7
+ data.tar.gz: 402082bfeb8a1716ac77c34eca629f1014928eec66202cae4e6d715297a8d4cf48052ad831e70dc202a82a5e81ec7a9024b994c91419398da566032670f8bd7d
data/CHANGELOG.md ADDED
@@ -0,0 +1,72 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project are documented in this file.
4
+
5
+ ## [Unreleased]
6
+
7
+ ### Changed
8
+
9
+ - **Breaking:** the OAuth `state` check is enforced. The strategy no longer sets
10
+ `provider_ignores_state`, so a callback whose `state` is missing or doesn't match the
11
+ session fails with `csrf_detected`. App Store installs need `app_store_install`.
12
+ - The gem version now comes from the release tag. `lib/omniauth-skubana/version.rb` reads
13
+ a top-level `VERSION` file, committed as a `0.0.0` placeholder, which the release
14
+ workflow writes from the tag with its leading `v` stripped.
15
+
16
+ ### Added
17
+
18
+ - `app_store_install` option, for a provider registered with its callback at the URI
19
+ registered for the app with Skubana. An App Store install arrives there with `cid` and
20
+ `code` but no `state`: such callbacks skip the state check and exchange the code with
21
+ `redirect_uri=<callback URL>?cid=<cid>`, as Skubana requires. Previously such codes
22
+ failed with `invalid_grant`.
23
+
24
+ ## [0.2.0] - 2026-10-19
25
+
26
+ ### Changed
27
+
28
+ - **Breaking:** requires `omniauth ~> 2.0` and `omniauth-oauth2 >= 1.8, < 2` (previously an
29
+ unpinned `omniauth-oauth2`). Host applications must be on OmniAuth 2.x; Rails apps also
30
+ need [`omniauth-rails_csrf_protection`](https://github.com/cookpad/omniauth-rails_csrf_protection)
31
+ because OmniAuth 2 only accepts `POST` for the request phase.
32
+ - Requires Ruby >= 3.2.
33
+ - The token request now authenticates through `client_options[:auth_scheme] = :basic_auth`
34
+ instead of a hand-built `Authorization` header. On `oauth2` 2.x this sends the same
35
+ request as before; on `oauth2` 1.x it also stops sending `client_id`/`client_secret` in
36
+ the token request body. This removes the `base64` require, which is no longer a default
37
+ gem as of Ruby 3.4.
38
+ - Development toolchain: Bundler 4.x, `rake ~> 13.0`, `rspec ~> 3.13`.
39
+ - Replaced Travis CI with GitHub Actions, testing Ruby 3.2 through 3.4.
40
+ - Releases are now cut from the GitHub Releases UI: publishing a `vX.Y.Z` release reruns
41
+ the matrix, checks the tag against `version.rb`, and publishes to RubyGems.org via
42
+ trusted publishing (OIDC, no stored API key).
43
+
44
+ ### Added
45
+
46
+ - `LICENSE.txt` (MIT), now declared in the gemspec.
47
+ - Integration specs covering the request phase, the token exchange, the `redirect_uri`
48
+ and the auth hash.
49
+ - A weekly `bundle-audit` run, so a new advisory against the locked `oauth2`/`rack`
50
+ chain surfaces here rather than in a consuming app.
51
+
52
+ ### Fixed
53
+
54
+ - `callback_url` drops the request's query string, so `/auth/skubana?type=shopping` no
55
+ longer sends a `redirect_uri` that does not match the one registered with Skubana, and
56
+ a mount prefix is included only once. (This was tagged as `v0.1.3` but never published
57
+ to RubyGems.)
58
+ - `bin/console` required a non-existent `omniauth/skubana` file.
59
+ - Development scripts in `bin/` and other scaffolding are no longer packaged in the gem.
60
+
61
+ ## [0.1.2] - 2020-05-21
62
+
63
+ - Upgraded `omniauth-oauth2` and removed its version constraint.
64
+
65
+ ## [0.1.0] - 2016-08-25
66
+
67
+ - Initial published strategy.
68
+
69
+ [Unreleased]: https://github.com/dropstream/omniauth-skubana/compare/v0.2.0...master
70
+ [0.2.0]: https://github.com/dropstream/omniauth-skubana/releases/tag/v0.2.0
71
+ [0.1.2]: https://rubygems.org/gems/omniauth-skubana/versions/0.1.2
72
+ [0.1.0]: https://rubygems.org/gems/omniauth-skubana/versions/0.1.0
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016-2026 Dropstream
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  # OmniAuth Skubana
2
2
 
3
- This is an OmniAuth strategy for authenticating to Skubana. To use it, you'll need to sign up as an App Developer with
3
+ This is an OmniAuth strategy for authenticating to Skubana. To use it, you'll need to sign up as an App Developer with
4
4
  Skubana to receive an AppKey and AppSecret.
5
5
 
6
+ Requires Ruby >= 3.2, OmniAuth 2.x and `omniauth-oauth2` 1.8 or later.
7
+
6
8
  ## Installation
7
9
 
8
10
  Add this line to your application's Gemfile:
@@ -21,21 +23,120 @@ Or install it yourself as:
21
23
 
22
24
  ## Usage
23
25
 
24
- ````ruby
25
- OmniAuth::Builder do
26
- provider :skubana,
27
- 'app_key', 'app_secret',
28
- :callback_url => "http://www.example.com/auth/skubana/callback",
29
- :scope => 'read_inventory+write_inventory'
26
+ OmniAuth 2 only accepts `POST` for the request phase. In a Rails app, add
27
+ [`omniauth-rails_csrf_protection`](https://github.com/cookpad/omniauth-rails_csrf_protection)
28
+ to your Gemfile and link to the provider with `button_to` or `link_to ..., method: :post`.
30
29
 
30
+ ```ruby
31
+ Rails.application.config.middleware.use OmniAuth::Builder do
32
+ provider :skubana,
33
+ 'app_key', 'app_secret',
34
+ :callback_url => "http://www.example.com/auth/skubana/callback",
35
+ :scope => 'read_inventory write_inventory'
31
36
  end
32
- ````
37
+ ```
38
+
39
+ Scopes are space-separated. Don't join them with `+`: it is sent encoded as `%2B`, and
40
+ Skubana rejects it with `invalid_scope`.
41
+
42
+ The auth hash carries the token under `credentials`:
43
+
44
+ ```ruby
45
+ auth = request.env['omniauth.auth']
46
+ auth['credentials']['token']
47
+ ```
48
+
49
+ ## Configuring
50
+
51
+ ### Configure the site
52
+
53
+ `client_options[:site]` defaults to `https://app.skubana.com`. Point it elsewhere to
54
+ authenticate against Skubana's demo environment:
55
+
56
+ ```ruby
57
+ :client_options => { :site => 'https://demo.skubana.com' }
58
+ ```
59
+
60
+ ### Configure the callback URL
61
+
62
+ The strategy overrides `callback_url` to drop the query string that OmniAuth would
63
+ otherwise append, because Skubana rejects a `redirect_uri` that does not match the
64
+ registered one exactly. Pass `callback_url` to override it outright; otherwise it is
65
+ derived from the request, including the mount prefix.
66
+
67
+ ### App Store installs
68
+
69
+ An install from Skubana's App Store doesn't go through the request phase: Skubana
70
+ redirects straight to the callback URI registered for the app with `?cid=...&code=...`,
71
+ and no `state`. The code is bound to that registered URI, and must be exchanged with
72
+ `redirect_uri=<registered URI>?cid=<cid>`.
73
+
74
+ To accept App Store installs, register the strategy a second time, under its own name,
75
+ with its callback at the registered URI and `app_store_install` set:
76
+
77
+ ```ruby
78
+ provider :skubana, 'app_key', 'app_secret',
79
+ :name => 'skubana_app_store',
80
+ :callback_path => '/apps/skubana/install',
81
+ :callback_url => 'https://www.example.com/apps/skubana/install',
82
+ :request_path => ->(_env) { false },
83
+ :app_store_install => true
84
+ ```
85
+
86
+ On that provider, a callback that carries a `cid` and no `state` skips OmniAuth's CSRF
87
+ state check and is exchanged with the `cid` appended. Any other callback is checked as
88
+ usual. Note what accepting installs gives up: anyone can send a signed-in user to that
89
+ URI with a `cid` and `code` of their own, and the user's account gets connected to that
90
+ Skubana account.
91
+
92
+ ### Client credentials in the token request
93
+
94
+ `client_options[:auth_scheme]` is pinned to `:basic_auth`, because Skubana expects the
95
+ AppKey and AppSecret as HTTP Basic auth on the token request.
33
96
 
34
97
  ## Development
35
98
 
36
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
99
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
100
+
101
+ To install this gem onto your local machine, run `bundle exec rake install`.
102
+
103
+ Run `bundle exec bundle-audit check --update` to check the locked dependency tree against
104
+ the advisory database; CI runs the same check weekly.
105
+
106
+ ## Releasing
107
+
108
+ Releases are cut from the [GitHub Releases UI](https://github.com/dropstream/omniauth-skubana/releases/new);
109
+ GitHub Actions builds and publishes the gem to [rubygems.org](https://rubygems.org) via
110
+ [RubyGems trusted publishing](https://guides.rubygems.org/trusted-publishing/), so no API
111
+ key is stored in the repo and the gemspec can keep `rubygems_mfa_required`.
112
+
113
+ 1. Add a `CHANGELOG.md` section for the new version, along with a link definition for the
114
+ new heading at the bottom of that file, and merge it to `master`. There is no version
115
+ to bump: the committed `VERSION` file is a `0.0.0` placeholder.
116
+ 2. Draft a new release with the target set to `master` and the tag set to the version
117
+ prefixed with `v` — `v0.3.0`, not `0.3.0`. The workflow strips the `v` and uses the
118
+ rest as the gem version.
119
+ 3. Click **Generate release notes** — the preferred method — then publish. The generated
120
+ notes list the merged pull requests; `CHANGELOG.md` carries the curated prose and
121
+ links back to each release.
122
+
123
+ Publishing creates the tag, which fires the `Release` workflow: it reruns the full test
124
+ matrix, refuses to continue unless the tag looks like `vX.Y.Z`, writes the version into
125
+ `VERSION` (and `Gemfile.lock`) in its own checkout, and pushes the gem. That change is
126
+ never pushed back to the repo. Note that RubyGems versions are immutable — a bad release
127
+ can be yanked, never replaced, so double-check the tag before publishing.
128
+
129
+ ### One-time RubyGems setup
130
+
131
+ Needed before the first release from CI, and again only if the gem is renamed or moved:
132
+ on rubygems.org open the gem -> **Trusted publishers** -> **Create**, with owner
133
+ `dropstream`, repository `omniauth-skubana`, workflow `release.yml`, and environment
134
+ `release`. The repo also needs an environment named `release`.
37
135
 
38
136
  ## Contributing
39
137
 
40
138
  Bug reports and pull requests are welcome on GitHub at https://github.com/dropstream/omniauth-skubana.
41
139
 
140
+ ## License
141
+
142
+ Available as open source under the terms of the [MIT License](LICENSE.txt).
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.1
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'omniauth-oauth2'
2
- require 'base64'
3
4
 
4
5
  module OmniAuth
5
6
  module Strategies
@@ -8,25 +9,50 @@ module OmniAuth
8
9
  option :client_options, {
9
10
  :authorize_url => '/oauth/authorize',
10
11
  :token_url => '/oauth/token',
11
- :site => 'https://app.skubana.com'
12
+ :site => 'https://app.skubana.com',
13
+ # Skubana expects the client credentials as HTTP Basic auth on the token
14
+ # request. Pinned so it doesn't depend on the oauth2 version's default
15
+ # (oauth2 1.x defaulted to :request_body).
16
+ :auth_scheme => :basic_auth
12
17
  }
13
18
 
14
19
  option :callback_url
15
-
16
- option :provider_ignores_state, true
17
-
18
- protected
19
20
 
20
- def build_access_token
21
- options.token_params.merge!(:headers => {'Authorization' => basic_auth_header })
21
+ # Set on a provider registered for App Store installs, with its
22
+ # callback_path at the callback URI registered for the app with Skubana.
23
+ # An install is started by Skubana, not by us: it redirects there with
24
+ # `?cid=...&code=...` and no state to check. Accepting that means anyone
25
+ # can deliver a code of their choosing to a signed-in user's callback, so
26
+ # installs are only handled when the host app sets this.
27
+ option :app_store_install, false
28
+
29
+ def callback_phase
30
+ # Safe to change: OmniAuth dups the options for every request.
31
+ options.provider_ignores_state = true if app_store_install?
22
32
  super
23
33
  end
24
-
34
+
35
+ # OmniAuth::Strategy#callback_url appends the callback request's own query
36
+ # string, which would send those params to Skubana as part of redirect_uri.
37
+ # Skubana requires redirect_uri to exactly match the URI registered for the
38
+ # app. Note that omniauth 2's `callback_path` already carries SCRIPT_NAME,
39
+ # so mount prefixes must not be added again.
40
+ #
41
+ # An App Store install's code must be exchanged with
42
+ # `redirect_uri=<registered URI>?cid=<cid>`.
43
+ def callback_url
44
+ url = options[:callback_url] || (full_host + callback_path)
45
+ app_store_install? ? "#{url}?cid=#{request.params["cid"]}" : url
46
+ end
47
+
25
48
  private
26
49
 
27
- def basic_auth_header
28
- "Basic " + Base64.strict_encode64("#{options[:client_id]}:#{options[:client_secret]}")
29
- end
50
+ def app_store_install?
51
+ return false unless options.app_store_install && @env
52
+
53
+ cid = request.params["cid"]
54
+ cid.is_a?(String) && !cid.empty? && request.params["state"].to_s.empty?
55
+ end
30
56
  end
31
57
  end
32
58
  end
@@ -1,5 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module OmniAuth
2
4
  module Skubana
3
- VERSION = "0.1.2"
5
+ # The release workflow writes VERSION from the release tag; the committed
6
+ # value is a 0.0.0 placeholder.
7
+ VERSION = File.read(File.expand_path("../../VERSION", __dir__)).strip
4
8
  end
5
9
  end
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'omniauth-skubana/version'
2
4
  require 'omniauth/strategies/skubana'
@@ -1,33 +1,37 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'omniauth-skubana/version'
5
+ require "omniauth-skubana/version"
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = "omniauth-skubana"
8
9
  spec.version = OmniAuth::Skubana::VERSION
9
10
  spec.authors = ["Karl Falconer"]
10
- spec.email = ["karl.falconer@falconerdevelopment.com"]
11
+ spec.email = ["karl.falconer@getdropstream.com"]
11
12
 
12
- spec.summary = %q{OmniAuth strategy for Skubana}
13
- spec.description = %q{In this gem you will find an OmniAuth Skubana strategy.}
13
+ spec.summary = "OmniAuth strategy for Skubana"
14
+ spec.description = "In this gem you will find an OmniAuth Skubana strategy."
14
15
  spec.homepage = "https://github.com/dropstream/omniauth-skubana"
16
+ spec.license = "MIT"
15
17
 
16
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
17
- # delete this section to allow pushing this gem to any host.
18
- if spec.respond_to?(:metadata)
19
- spec.metadata['allowed_push_host'] = "https://rubygems.org"
20
- else
21
- raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
22
- end
18
+ spec.required_ruby_version = ">= 3.2"
23
19
 
24
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
25
- spec.bindir = "exe"
26
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
- spec.require_paths = ["lib"]
20
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
21
+ spec.metadata["homepage_uri"] = spec.homepage
22
+ spec.metadata["source_code_uri"] = spec.homepage
23
+ spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/master/CHANGELOG.md"
24
+ spec.metadata["rubygems_mfa_required"] = "true"
28
25
 
29
- spec.add_runtime_dependency 'omniauth-oauth2'
26
+ # Ship only the library itself; development scaffolding stays out of the gem.
27
+ spec.files = Dir.chdir(__dir__) do
28
+ `git ls-files -z`.split("\x0").reject do |f|
29
+ f.match(%r{\A(?:spec|bin|pkg|\.github)/}) ||
30
+ f.match(%r{\A(?:\.gitignore|\.rspec|\.ruby-version|\.ruby-gemset|Gemfile|Gemfile\.lock|Rakefile)\z})
31
+ end
32
+ end
33
+ spec.require_paths = ["lib"]
30
34
 
31
- spec.add_development_dependency "rake", "~> 10.0"
32
- spec.add_development_dependency "rspec"
35
+ spec.add_dependency "omniauth", "~> 2.0"
36
+ spec.add_dependency "omniauth-oauth2", ">= 1.8", "< 2"
33
37
  end
metadata CHANGED
@@ -1,83 +1,72 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-skubana
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Falconer
8
- autorequire:
9
- bindir: exe
8
+ bindir: bin
10
9
  cert_chain: []
11
- date: 2020-05-21 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: omniauth-oauth2
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
13
+ name: omniauth
29
14
  requirement: !ruby/object:Gem::Requirement
30
15
  requirements:
31
16
  - - "~>"
32
17
  - !ruby/object:Gem::Version
33
- version: '10.0'
34
- type: :development
18
+ version: '2.0'
19
+ type: :runtime
35
20
  prerelease: false
36
21
  version_requirements: !ruby/object:Gem::Requirement
37
22
  requirements:
38
23
  - - "~>"
39
24
  - !ruby/object:Gem::Version
40
- version: '10.0'
25
+ version: '2.0'
41
26
  - !ruby/object:Gem::Dependency
42
- name: rspec
27
+ name: omniauth-oauth2
43
28
  requirement: !ruby/object:Gem::Requirement
44
29
  requirements:
45
30
  - - ">="
46
31
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
32
+ version: '1.8'
33
+ - - "<"
34
+ - !ruby/object:Gem::Version
35
+ version: '2'
36
+ type: :runtime
49
37
  prerelease: false
50
38
  version_requirements: !ruby/object:Gem::Requirement
51
39
  requirements:
52
40
  - - ">="
53
41
  - !ruby/object:Gem::Version
54
- version: '0'
42
+ version: '1.8'
43
+ - - "<"
44
+ - !ruby/object:Gem::Version
45
+ version: '2'
55
46
  description: In this gem you will find an OmniAuth Skubana strategy.
56
47
  email:
57
- - karl.falconer@falconerdevelopment.com
48
+ - karl.falconer@getdropstream.com
58
49
  executables: []
59
50
  extensions: []
60
51
  extra_rdoc_files: []
61
52
  files:
62
- - ".gitignore"
63
- - ".rspec"
64
- - ".ruby-gemset"
65
- - ".ruby-version"
66
- - ".travis.yml"
67
- - Gemfile
53
+ - CHANGELOG.md
54
+ - LICENSE.txt
68
55
  - README.md
69
- - Rakefile
70
- - bin/console
71
- - bin/setup
56
+ - VERSION
72
57
  - lib/omniauth-skubana.rb
73
58
  - lib/omniauth-skubana/version.rb
74
59
  - lib/omniauth/strategies/skubana.rb
75
60
  - omniauth-skubana.gemspec
76
61
  homepage: https://github.com/dropstream/omniauth-skubana
77
- licenses: []
62
+ licenses:
63
+ - MIT
78
64
  metadata:
79
65
  allowed_push_host: https://rubygems.org
80
- post_install_message:
66
+ homepage_uri: https://github.com/dropstream/omniauth-skubana
67
+ source_code_uri: https://github.com/dropstream/omniauth-skubana
68
+ changelog_uri: https://github.com/dropstream/omniauth-skubana/blob/master/CHANGELOG.md
69
+ rubygems_mfa_required: 'true'
81
70
  rdoc_options: []
82
71
  require_paths:
83
72
  - lib
@@ -85,15 +74,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
85
74
  requirements:
86
75
  - - ">="
87
76
  - !ruby/object:Gem::Version
88
- version: '0'
77
+ version: '3.2'
89
78
  required_rubygems_version: !ruby/object:Gem::Requirement
90
79
  requirements:
91
80
  - - ">="
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  requirements: []
95
- rubygems_version: 3.0.8
96
- signing_key:
84
+ rubygems_version: 3.6.9
97
85
  specification_version: 4
98
86
  summary: OmniAuth strategy for Skubana
99
87
  test_files: []
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
data/.ruby-gemset DELETED
@@ -1 +0,0 @@
1
- omniauth-skubana
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- ruby-2.4.4
data/.travis.yml DELETED
@@ -1,4 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.4.4
4
- before_install: gem install bundler -v 1.16
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in omniauth-skubana.gemspec
4
- gemspec
data/Rakefile DELETED
@@ -1,6 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
3
-
4
- RSpec::Core::RakeTask.new(:spec)
5
-
6
- task :default => :spec
data/bin/console DELETED
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "omniauth/skubana"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
12
-
13
- require "irb"
14
- IRB.start
data/bin/setup DELETED
@@ -1,7 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
-
5
- bundle install
6
-
7
- # Do any other automated setup that you need to do here