omniauth-azure-devops 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9f4b5ecfd369e393eed0a02f850ed0dfa6271cb7c59853b2626bf45b0e930693
4
+ data.tar.gz: 49bee9e03d1ce2b2b665ceadbe19ace23a90f8fcbdb83dce0bccdf705ee218cf
5
+ SHA512:
6
+ metadata.gz: 72df81396dbeb751f6fd2083d78d5ec1040f18aefd5dc3c811249f109111648c04fbf84279366aa87cf466d619480b4deb2f3fa6095d825914133754c053be68
7
+ data.tar.gz: ac07c764bf778c7c14acef78c46aa9ebc66d3958b531e80c6810d72bd06a53edc8e650d6fa110a8fd590fc1e4e1d28f08204dfec95e6ba5a3d3cf2dfb60daf58
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ InstalledFiles
7
+ _yardoc
8
+ coverage/
9
+ doc/
10
+ lib/bundler/man
11
+ pkg
12
+ rdoc
13
+ spec/reports
14
+ test/tmp
15
+ test/version_tmp
16
+ tmp
17
+ .idea/
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,127 @@
1
+ require:
2
+ - rubocop-performance
3
+ - rubocop-rspec
4
+
5
+ AllCops:
6
+ DisplayCopNames: true
7
+ TargetRubyVersion: 3.2
8
+ StyleGuideBaseURL: https://github.com/rewindio/ruby-style-configs/
9
+ NewCops: enable
10
+ Exclude:
11
+ - .git/**/*
12
+ - bin/**/*
13
+ - log/**/*
14
+ - tmp/**/*
15
+ - vendor/**/*
16
+
17
+ # Layout cop configuration
18
+
19
+ Layout/LineLength:
20
+ Max: 160
21
+
22
+ # Lint cop configuration
23
+
24
+ Lint/Debugger:
25
+ Enabled: true
26
+ Lint/SuppressedException:
27
+ AllowComments: true
28
+
29
+ # Metrics cop configuration
30
+
31
+ Metrics/AbcSize:
32
+ Enabled: false
33
+ Metrics/BlockLength:
34
+ Enabled: false
35
+ Metrics/ClassLength:
36
+ Enabled: false
37
+ Metrics/CyclomaticComplexity:
38
+ Enabled: false
39
+ Metrics/MethodLength:
40
+ Enabled: false
41
+ Metrics/ModuleLength:
42
+ Enabled: false
43
+ Metrics/ParameterLists:
44
+ Enabled: false
45
+ Metrics/PerceivedComplexity:
46
+ Enabled: false
47
+
48
+ # Naming cop configuration
49
+ Naming/MethodParameterName:
50
+ Enabled: true
51
+ Exclude:
52
+ - spec/support/helpers.rb
53
+
54
+ Naming/BlockForwarding:
55
+ EnforcedStyle: explicit
56
+
57
+ # Minitest cop configuration
58
+
59
+ # Performance cop configuration
60
+
61
+ # Rails cop configuration
62
+
63
+ # RSpec cop configuration
64
+
65
+ RSpec/ExampleLength:
66
+ Max: 15
67
+ CountAsOne: ['array', 'heredoc', 'hash']
68
+ RSpec/MultipleExpectations:
69
+ Max: 5
70
+ # This cop does more harm than good and makes certain data-heavy classes difficult to test.
71
+ # Even Rubocop themselves disables this one.
72
+ # https://github.com/rubocop/rubocop/blob/efb1e628adfec08d2fe7875779fc16b42bde9f77/.rubocop.yml#L145
73
+ # https://stackoverflow.com/a/67149191
74
+ RSpec/MultipleMemoizedHelpers:
75
+ Enabled: false
76
+ RSpec/NestedGroups:
77
+ Max: 5
78
+ RSpec/VerifiedDoubleReference:
79
+ Enabled: false
80
+ RSpec/FilePath:
81
+ Exclude:
82
+ - spec/omni_auth/azure_devops/version_spec.rb
83
+ RSpec/SpecFilePathFormat:
84
+ Exclude:
85
+ - spec/omni_auth/azure_devops/version_spec.rb
86
+
87
+ # Style cop configuration
88
+ Style/ArgumentsForwarding:
89
+ UseAnonymousForwarding: false
90
+ Style/AsciiComments:
91
+ Enabled: false
92
+ Style/ClassAndModuleChildren:
93
+ EnforcedStyle: compact
94
+ Exclude:
95
+ - config/**/*.rb
96
+ - lib/**/*.rb
97
+ Style/DateTime:
98
+ Enabled: false
99
+ Style/Documentation:
100
+ Enabled: false
101
+ Style/FrozenStringLiteralComment:
102
+ Details: >-
103
+ Add `# frozen_string_literal: true` to the top of the file. Frozen string
104
+ literals will become the default in a future Ruby version, and we want to
105
+ make sure we're ready.
106
+ EnforcedStyle: always
107
+ SupportedStyles:
108
+ - always
109
+ - never
110
+ Style/HashEachMethods:
111
+ Enabled: true
112
+ Style/HashSyntax:
113
+ EnforcedShorthandSyntax: either
114
+ Style/HashTransformKeys:
115
+ Enabled: true
116
+ Style/HashTransformValues:
117
+ Enabled: true
118
+ Style/NumericPredicate:
119
+ Enabled: false # This is an unsafe setting which has the potential to introduce bugs because nil == 0 is false, where nil.zero? throws an exception.
120
+ Style/RedundantSelf:
121
+ Enabled: true
122
+ Style/RescueStandardError:
123
+ Enabled: false
124
+
125
+ # Gem Spec cop configuration
126
+ Gemspec/RequireMFA:
127
+ Enabled: false
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.2
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # Changelog
2
+
3
+ ## [1.0.1]
4
+
5
+ - Rename the entry point file
6
+
7
+ ## [1.0.0]
8
+
9
+ - Initial Release
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ group :development, :test do
8
+ gem 'bundler', '~> 2.4'
9
+ gem 'pry'
10
+ gem 'rake', '~> 13.0'
11
+ gem 'rspec', '~> 3.9.0'
12
+ gem 'rubocop'
13
+ gem 'rubocop-performance'
14
+ gem 'rubocop-rspec'
15
+ gem 'simplecov', '~> 0.22'
16
+ gem 'simplecov-console', '~> 0.9'
17
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,131 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ omniauth-azure-devops (1.0.1)
5
+ omniauth (>= 1, < 3)
6
+ omniauth-oauth2 (~> 1.1)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ansi (1.5.0)
12
+ ast (2.4.2)
13
+ base64 (0.1.1)
14
+ coderay (1.1.3)
15
+ diff-lcs (1.5.0)
16
+ docile (1.4.0)
17
+ faraday (2.7.11)
18
+ base64
19
+ faraday-net_http (>= 2.0, < 3.1)
20
+ ruby2_keywords (>= 0.0.4)
21
+ faraday-net_http (3.0.2)
22
+ hashie (5.0.0)
23
+ json (2.6.3)
24
+ jwt (2.7.1)
25
+ language_server-protocol (3.17.0.3)
26
+ method_source (1.0.0)
27
+ multi_xml (0.6.0)
28
+ oauth2 (2.0.9)
29
+ faraday (>= 0.17.3, < 3.0)
30
+ jwt (>= 1.0, < 3.0)
31
+ multi_xml (~> 0.5)
32
+ rack (>= 1.2, < 4)
33
+ snaky_hash (~> 2.0)
34
+ version_gem (~> 1.1)
35
+ omniauth (2.1.1)
36
+ hashie (>= 3.4.6)
37
+ rack (>= 2.2.3)
38
+ rack-protection
39
+ omniauth-oauth2 (1.8.0)
40
+ oauth2 (>= 1.4, < 3)
41
+ omniauth (~> 2.0)
42
+ parallel (1.23.0)
43
+ parser (3.2.2.3)
44
+ ast (~> 2.4.1)
45
+ racc
46
+ pry (0.14.2)
47
+ coderay (~> 1.1)
48
+ method_source (~> 1.0)
49
+ racc (1.7.1)
50
+ rack (2.2.8)
51
+ rack-protection (3.1.0)
52
+ rack (~> 2.2, >= 2.2.4)
53
+ rainbow (3.1.1)
54
+ rake (13.0.6)
55
+ regexp_parser (2.8.1)
56
+ rexml (3.2.6)
57
+ rspec (3.9.0)
58
+ rspec-core (~> 3.9.0)
59
+ rspec-expectations (~> 3.9.0)
60
+ rspec-mocks (~> 3.9.0)
61
+ rspec-core (3.9.3)
62
+ rspec-support (~> 3.9.3)
63
+ rspec-expectations (3.9.4)
64
+ diff-lcs (>= 1.2.0, < 2.0)
65
+ rspec-support (~> 3.9.0)
66
+ rspec-mocks (3.9.1)
67
+ diff-lcs (>= 1.2.0, < 2.0)
68
+ rspec-support (~> 3.9.0)
69
+ rspec-support (3.9.4)
70
+ rubocop (1.56.3)
71
+ base64 (~> 0.1.1)
72
+ json (~> 2.3)
73
+ language_server-protocol (>= 3.17.0)
74
+ parallel (~> 1.10)
75
+ parser (>= 3.2.2.3)
76
+ rainbow (>= 2.2.2, < 4.0)
77
+ regexp_parser (>= 1.8, < 3.0)
78
+ rexml (>= 3.2.5, < 4.0)
79
+ rubocop-ast (>= 1.28.1, < 2.0)
80
+ ruby-progressbar (~> 1.7)
81
+ unicode-display_width (>= 2.4.0, < 3.0)
82
+ rubocop-ast (1.29.0)
83
+ parser (>= 3.2.1.0)
84
+ rubocop-capybara (2.19.0)
85
+ rubocop (~> 1.41)
86
+ rubocop-factory_bot (2.24.0)
87
+ rubocop (~> 1.33)
88
+ rubocop-performance (1.19.1)
89
+ rubocop (>= 1.7.0, < 2.0)
90
+ rubocop-ast (>= 0.4.0)
91
+ rubocop-rspec (2.24.1)
92
+ rubocop (~> 1.33)
93
+ rubocop-capybara (~> 2.17)
94
+ rubocop-factory_bot (~> 2.22)
95
+ ruby-progressbar (1.13.0)
96
+ ruby2_keywords (0.0.5)
97
+ simplecov (0.22.0)
98
+ docile (~> 1.1)
99
+ simplecov-html (~> 0.11)
100
+ simplecov_json_formatter (~> 0.1)
101
+ simplecov-console (0.9.1)
102
+ ansi
103
+ simplecov
104
+ terminal-table
105
+ simplecov-html (0.12.3)
106
+ simplecov_json_formatter (0.1.4)
107
+ snaky_hash (2.0.1)
108
+ hashie
109
+ version_gem (~> 1.1, >= 1.1.1)
110
+ terminal-table (3.0.2)
111
+ unicode-display_width (>= 1.1.1, < 3)
112
+ unicode-display_width (2.4.2)
113
+ version_gem (1.1.3)
114
+
115
+ PLATFORMS
116
+ ruby
117
+
118
+ DEPENDENCIES
119
+ bundler (~> 2.4)
120
+ omniauth-azure-devops!
121
+ pry
122
+ rake (~> 13.0)
123
+ rspec (~> 3.9.0)
124
+ rubocop
125
+ rubocop-performance
126
+ rubocop-rspec
127
+ simplecov (~> 0.22)
128
+ simplecov-console (~> 0.9)
129
+
130
+ BUNDLED WITH
131
+ 2.4.19
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2023 Rewind Software Inc.
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,57 @@
1
+ # OmniAuth Azure DevOps Strategy
2
+
3
+ OmniAuth Azure DevOps is a Ruby gem that provides authentication for your Ruby applications via the Azure DevOps OAuth 2.0 authentication system.
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'omniauth-azure-devops'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ ```bash
16
+ bundle install
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ 1. Register your application with Azure DevOps to obtain the `AZURE_DEVOPS_CLIENT_ID` and `AZURE_DEVOPS_CLIENT_SECRET` credentials.
22
+
23
+ 2. In your application configuration, add the following line to use the Azure DevOps OmniAuth strategy:
24
+
25
+ ```ruby
26
+ provider :azure_devops, ENV['AZURE_DEVOPS_CLIENT_ID'], ENV['AZURE_DEVOPS_CLIENT_SECRET'], scope: 'vso.auditlog etc...', callback_path: '/link/azure_devops/oauth_callback'
27
+ ```
28
+
29
+ Replace `ENV['AZURE_DEVOPS_CLIENT_ID']` and `ENV['AZURE_DEVOPS_CLIENT_SECRET']` with your Azure DevOps client credentials.
30
+
31
+ 3. Implement the necessary routes and views to initiate the authentication process and handle the callback.
32
+
33
+ 4. When users access the authentication route, they will be redirected to Azure DevOps for authentication. After successful authentication, Azure DevOps will redirect them back to your specified callback URL.
34
+
35
+ 5. Access user information and tokens as needed in your application by utilizing the OmniAuth authentication data.
36
+
37
+ ## Running Tests
38
+
39
+ You can run the test suite using the following command:
40
+
41
+ ```bash
42
+ rake spec
43
+ ```
44
+
45
+ ## Development
46
+
47
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the spec. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
48
+
49
+ To install this gem onto your local machine, run `bundle exec rake install`.
50
+
51
+ ## Contributing
52
+
53
+ Bug reports and pull requests are welcome on GitHub at [https://github.com/rewindio/omniauth-azure-devops](https://github.com/rewindio/omniauth-azure-devops). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](https://www.contributor-covenant.org) code of conduct.
54
+
55
+ ## License
56
+
57
+ This gem is available as open-source software under the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+
5
+ begin
6
+ require 'rspec/core/rake_task'
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ rescue LoadError # rubocop:disable Lint/SuppressedException
9
+ end
10
+
11
+ task default: :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'omniauth-azure-devops'
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(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OmniAuth
4
+ module AzureDevops
5
+ VERSION = '1.0.1'
6
+ end
7
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'omniauth/strategies/oauth2'
4
+
5
+ module OmniAuth
6
+ module Strategies
7
+ class AzureDevops < OmniAuth::Strategies::OAuth2
8
+ option :name, :azure_devops
9
+
10
+ option :client_options, {
11
+ site: 'https://app.vssps.visualstudio.com/',
12
+ authorize_url: 'https://app.vssps.visualstudio.com/oauth2/authorize',
13
+ token_url: 'https://app.vssps.visualstudio.com/oauth2/token'
14
+ }
15
+
16
+ option :authorize_params, {
17
+ request_type: 'Assertion'
18
+ }
19
+
20
+ uid { raw_info['id'] }
21
+
22
+ info do
23
+ {
24
+ name: raw_info['display_name'],
25
+ email_address: raw_info['email_address']
26
+ }
27
+ end
28
+
29
+ extra do
30
+ {
31
+ raw_info: raw_info
32
+ }
33
+ end
34
+
35
+ def raw_info
36
+ @raw_info ||= access_token.get('/_apis/profile/profiles/me').parsed
37
+ end
38
+
39
+ def token_params
40
+ super.tap do |params|
41
+ params[:headers] = { 'Content-Type': 'application/x-www-form-urlencoded' }
42
+ params[:client_assertion_type] = 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer'
43
+ params[:client_assertion] = client.secret
44
+ params[:grant_type] = 'urn:ietf:params:oauth:grant-type:jwt-bearer'
45
+ params[:assertion] = request.params['code']
46
+ params[:redirect_uri] = callback_url
47
+ end
48
+ end
49
+
50
+ def callback_url
51
+ full_host + callback_path
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'omni_auth/azure_devops/version'
4
+ require 'omni_auth/strategies/azure_devops'
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path('lib/omni_auth/azure_devops/version', __dir__)
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = 'omniauth-azure-devops'
7
+ gem.version = OmniAuth::AzureDevops::VERSION
8
+ gem.authors = ['Rewind Software Inc. | Parth Chandgadhiya']
9
+ gem.email = ['team@rewind.io']
10
+
11
+ gem.summary = 'An Azure Devops OAuth strategy for OmniAuth 2.0'
12
+ gem.description = 'An Azure Devops OAuth strategy for OmniAuth 2.0'
13
+ gem.homepage = 'https://github.com/rewind/omniauth-azure-devops'
14
+ gem.license = 'MIT'
15
+ gem.metadata = {
16
+ 'rubygems_mfa_required' => 'false',
17
+ 'bug_tracker_uri' => "#{gem.homepage}/issues",
18
+ 'changelog_uri' => "#{gem.homepage}/blob/main/CHANGELOG.md",
19
+ 'documentation_uri' => gem.homepage.to_s,
20
+ 'homepage_uri' => gem.homepage.to_s,
21
+ 'source_code_uri' => gem.homepage.to_s
22
+ }
23
+
24
+ gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec|.github|examples)/}) }
25
+ gem.bindir = 'exe'
26
+ gem.executables = gem.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+ gem.require_paths = ['lib']
28
+
29
+ gem.required_ruby_version = '>= 3.2'
30
+
31
+ gem.add_runtime_dependency 'omniauth', '>= 1', '< 3'
32
+ gem.add_runtime_dependency 'omniauth-oauth2', '~> 1.1'
33
+ end
metadata ADDED
@@ -0,0 +1,99 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: omniauth-azure-devops
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Rewind Software Inc. | Parth Chandgadhiya
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-09-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: omniauth
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '1'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '1'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
33
+ - !ruby/object:Gem::Dependency
34
+ name: omniauth-oauth2
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.1'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.1'
47
+ description: An Azure Devops OAuth strategy for OmniAuth 2.0
48
+ email:
49
+ - team@rewind.io
50
+ executables: []
51
+ extensions: []
52
+ extra_rdoc_files: []
53
+ files:
54
+ - ".gitignore"
55
+ - ".rspec"
56
+ - ".rubocop.yml"
57
+ - ".ruby-version"
58
+ - CHANGELOG.md
59
+ - Gemfile
60
+ - Gemfile.lock
61
+ - LICENSE
62
+ - README.md
63
+ - Rakefile
64
+ - bin/console
65
+ - bin/setup
66
+ - lib/omni_auth/azure_devops/version.rb
67
+ - lib/omni_auth/strategies/azure_devops.rb
68
+ - lib/omniauth-azure-devops.rb
69
+ - omniauth-azure-devops.gemspec
70
+ homepage: https://github.com/rewind/omniauth-azure-devops
71
+ licenses:
72
+ - MIT
73
+ metadata:
74
+ rubygems_mfa_required: 'false'
75
+ bug_tracker_uri: https://github.com/rewind/omniauth-azure-devops/issues
76
+ changelog_uri: https://github.com/rewind/omniauth-azure-devops/blob/main/CHANGELOG.md
77
+ documentation_uri: https://github.com/rewind/omniauth-azure-devops
78
+ homepage_uri: https://github.com/rewind/omniauth-azure-devops
79
+ source_code_uri: https://github.com/rewind/omniauth-azure-devops
80
+ post_install_message:
81
+ rdoc_options: []
82
+ require_paths:
83
+ - lib
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '3.2'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ requirements: []
95
+ rubygems_version: 3.4.10
96
+ signing_key:
97
+ specification_version: 4
98
+ summary: An Azure Devops OAuth strategy for OmniAuth 2.0
99
+ test_files: []