omniauth-gitlab 1.0.2 → 1.0.3
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/README.md +29 -6
- data/Rakefile +2 -2
- data/lib/omniauth-gitlab.rb +1 -1
- data/lib/omniauth-gitlab/version.rb +1 -1
- data/lib/omniauth/strategies/gitlab.rb +6 -12
- data/omniauth-gitlab.gemspec +4 -6
- data/spec/omniauth/strategies/gitlab_spec.rb +8 -17
- data/spec/spec_helper.rb +2 -12
- metadata +4 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '09a621d84d0ca9c607f349887115c8c243689f8a'
|
4
|
+
data.tar.gz: 9033ecc6420c9821bdd09ae446773d65b266e141
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a92f292b33ac370abe67821c10f97aaeb2bd026c2e39cfac74bb740cad9da670d2cdfe1a128d7ee1f560d59b0f798d66637b896eca18511c9957e8b539ebe434
|
7
|
+
data.tar.gz: a20742007b746b20406f8dbcf52775ccdab7618505b7c7f3835eb697df520c2639fdfbbd1f7a8dba2d66e6865a2527142bc577106eed24e8f43527aec0a74589
|
data/README.md
CHANGED
@@ -31,12 +31,35 @@ Or install it yourself as:
|
|
31
31
|
## Standalone Usage
|
32
32
|
|
33
33
|
use OmniAuth::Builder do
|
34
|
-
provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET'],
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
34
|
+
provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET'],
|
35
|
+
{
|
36
|
+
client_options: {
|
37
|
+
site: 'https://gitlab.YOURDOMAIN.com/api/v4'
|
38
|
+
}
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
## Custom scopes
|
43
|
+
|
44
|
+
use OmniAuth::Builder do
|
45
|
+
provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET'], scope: 'read_user openid'
|
46
|
+
end
|
47
|
+
|
48
|
+
## Old API version
|
49
|
+
|
50
|
+
API V3 will be unsupported from GitLab 9.5 and will be removed in GitLab 9.5 or later.
|
51
|
+
|
52
|
+
[https://gitlab.com/help/api/v3_to_v4.md](https://gitlab.com/help/api/v3_to_v4.md)
|
53
|
+
|
54
|
+
If you use GitLab 9.0 and below you could configure V3 API:
|
55
|
+
|
56
|
+
use OmniAuth::Builder do
|
57
|
+
provider :gitlab, ENV['GITLAB_KEY'], ENV['GITLAB_SECRET'],
|
58
|
+
{
|
59
|
+
client_options: {
|
60
|
+
site: 'https://gitlab.YOURDOMAIN.com/api/v3'
|
61
|
+
}
|
62
|
+
}
|
40
63
|
end
|
41
64
|
|
42
65
|
## Contributing
|
data/Rakefile
CHANGED
data/lib/omniauth-gitlab.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
require
|
1
|
+
require 'omniauth-gitlab/version'
|
2
2
|
require 'omniauth/strategies/gitlab'
|
@@ -4,12 +4,7 @@ require 'omniauth-oauth2'
|
|
4
4
|
module OmniAuth
|
5
5
|
module Strategies
|
6
6
|
class GitLab < OmniAuth::Strategies::OAuth2
|
7
|
-
|
8
|
-
option :client_options, {
|
9
|
-
site: 'https://gitlab.com',
|
10
|
-
authorize_url: '/oauth/authorize',
|
11
|
-
token_url: '/oauth/token'
|
12
|
-
}
|
7
|
+
option :client_options, site: 'https://gitlab.com/api/v4'
|
13
8
|
|
14
9
|
option :redirect_url
|
15
10
|
|
@@ -17,10 +12,10 @@ module OmniAuth
|
|
17
12
|
|
18
13
|
info do
|
19
14
|
{
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
15
|
+
name: raw_info['name'],
|
16
|
+
username: raw_info['username'],
|
17
|
+
email: raw_info['email'],
|
18
|
+
image: raw_info['avatar_url']
|
24
19
|
}
|
25
20
|
end
|
26
21
|
|
@@ -29,7 +24,7 @@ module OmniAuth
|
|
29
24
|
end
|
30
25
|
|
31
26
|
def raw_info
|
32
|
-
@raw_info ||= access_token.get('
|
27
|
+
@raw_info ||= access_token.get('user').parsed
|
33
28
|
end
|
34
29
|
|
35
30
|
private
|
@@ -41,5 +36,4 @@ module OmniAuth
|
|
41
36
|
end
|
42
37
|
end
|
43
38
|
|
44
|
-
|
45
39
|
OmniAuth.config.add_camelization 'gitlab', 'GitLab'
|
data/omniauth-gitlab.gemspec
CHANGED
@@ -6,14 +6,14 @@ require 'omniauth-gitlab/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = 'omniauth-gitlab'
|
8
8
|
gem.version = Omniauth::Gitlab::VERSION
|
9
|
-
gem.authors = ['
|
9
|
+
gem.authors = ['Sergey Sein']
|
10
10
|
gem.email = ['linchus@gmail.com']
|
11
|
-
gem.description =
|
12
|
-
gem.summary =
|
11
|
+
gem.description = 'This is the strategy for authenticating to your GitLab service'
|
12
|
+
gem.summary = 'This is the strategy for authenticating to your GitLab service'
|
13
13
|
gem.homepage = 'https://github.com/linchus/omniauth-gitlab'
|
14
14
|
|
15
15
|
gem.files = `git ls-files`.split($/)
|
16
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ['lib']
|
19
19
|
|
@@ -21,7 +21,5 @@ Gem::Specification.new do |gem|
|
|
21
21
|
gem.add_dependency 'omniauth-oauth2', '~> 1.0'
|
22
22
|
gem.add_development_dependency 'rspec', '~> 3.1'
|
23
23
|
gem.add_development_dependency 'rspec-its', '~> 1.0'
|
24
|
-
gem.add_development_dependency 'rack-test'
|
25
24
|
gem.add_development_dependency 'simplecov'
|
26
|
-
gem.add_development_dependency 'webmock'
|
27
25
|
end
|
@@ -1,24 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe OmniAuth::Strategies::GitLab do
|
4
|
-
|
5
4
|
let(:access_token) { double('AccessToken') }
|
6
5
|
let(:parsed_response) { double('ParsedResponse') }
|
7
6
|
let(:response) { double('Response', parsed: parsed_response) }
|
8
7
|
|
9
|
-
let(:enterprise_site)
|
10
|
-
let(:enterprise_authorize_url) { '/oauth/authorize' }
|
11
|
-
let(:enterprise_token_url) { '/oauth/access_token' }
|
8
|
+
let(:enterprise_site) { 'https://some.other.site.com/api/v3' }
|
12
9
|
|
13
10
|
let(:gitlab_service) { OmniAuth::Strategies::GitLab.new({}) }
|
14
11
|
let(:enterprise) do
|
15
|
-
OmniAuth::Strategies::GitLab.new(
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
},
|
21
|
-
redirect_url: 'http://localhost:9292/callback_url'
|
12
|
+
OmniAuth::Strategies::GitLab.new(
|
13
|
+
'GITLAB_KEY',
|
14
|
+
'GITLAB_SECRET',
|
15
|
+
client_options: { site: enterprise_site },
|
16
|
+
redirect_url: 'http://localhost:9292/callback_url'
|
22
17
|
)
|
23
18
|
end
|
24
19
|
|
@@ -32,17 +27,13 @@ describe OmniAuth::Strategies::GitLab do
|
|
32
27
|
context 'with defaults' do
|
33
28
|
subject { gitlab_service.options.client_options }
|
34
29
|
|
35
|
-
its(:site) { is_expected.to eq 'https://gitlab.com' }
|
36
|
-
its(:authorize_url) { is_expected.to eq '/oauth/authorize' }
|
37
|
-
its(:token_url) { is_expected.to eq '/oauth/token' }
|
30
|
+
its(:site) { is_expected.to eq 'https://gitlab.com/api/v4' }
|
38
31
|
end
|
39
32
|
|
40
33
|
context 'with override' do
|
41
34
|
subject { enterprise.options.client_options }
|
42
35
|
|
43
36
|
its(:site) { is_expected.to eq enterprise_site }
|
44
|
-
its(:authorize_url) { is_expected.to eq enterprise_authorize_url }
|
45
|
-
its(:token_url) { is_expected.to eq enterprise_token_url }
|
46
37
|
end
|
47
38
|
end
|
48
39
|
|
@@ -60,7 +51,7 @@ describe OmniAuth::Strategies::GitLab do
|
|
60
51
|
|
61
52
|
describe '#raw_info' do
|
62
53
|
it 'sent request to current user endpoint' do
|
63
|
-
expect(access_token).to receive(:get).with('
|
54
|
+
expect(access_token).to receive(:get).with('user').and_return(response)
|
64
55
|
expect(subject.raw_info).to eq(parsed_response)
|
65
56
|
end
|
66
57
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,18 +1,8 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
$LOAD_PATH.unshift File.expand_path('..', __FILE__)
|
2
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
3
3
|
require 'simplecov'
|
4
4
|
SimpleCov.start
|
5
5
|
require 'rspec'
|
6
6
|
require 'rspec/its'
|
7
|
-
require 'rack/test'
|
8
|
-
require 'webmock/rspec'
|
9
7
|
require 'omniauth'
|
10
8
|
require 'omniauth-gitlab'
|
11
|
-
|
12
|
-
RSpec.configure do |config|
|
13
|
-
config.include WebMock::API
|
14
|
-
config.include Rack::Test::Methods
|
15
|
-
config.extend OmniAuth::Test::StrategyMacros, :type => :strategy
|
16
|
-
end
|
17
|
-
|
18
|
-
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniauth-gitlab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Sergey Sein
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: omniauth
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rack-test
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: simplecov
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,20 +80,6 @@ dependencies:
|
|
94
80
|
- - ">="
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: webmock
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
83
|
description: This is the strategy for authenticating to your GitLab service
|
112
84
|
email:
|
113
85
|
- linchus@gmail.com
|
@@ -147,11 +119,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
119
|
version: '0'
|
148
120
|
requirements: []
|
149
121
|
rubyforge_project:
|
150
|
-
rubygems_version: 2.
|
122
|
+
rubygems_version: 2.5.2
|
151
123
|
signing_key:
|
152
124
|
specification_version: 4
|
153
125
|
summary: This is the strategy for authenticating to your GitLab service
|
154
126
|
test_files:
|
155
127
|
- spec/omniauth/strategies/gitlab_spec.rb
|
156
128
|
- spec/spec_helper.rb
|
157
|
-
has_rdoc:
|