omniauth_crowd 2.2.2 → 2.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 59c97cc073c410612b365745b87b17e917845178
4
+ data.tar.gz: e98defefdd3a85dcb46dbcf896cdb2e3e7fa3c75
5
+ SHA512:
6
+ metadata.gz: b2ea0383c88b06a00874e5053164c938f075b2df3ebd8b0ce0b50633d28653236d371616654d984e73c24cdc19eb4bca7626549fd2d2bd05803a8b0d6bc5fbe6
7
+ data.tar.gz: 7e10ab76e6cf238e4b97e92cc9a10948eb2458ca56f9914f733a6271d7da3db1a30f4ed3e44545968c0bee3e1c5c3f945ee544dffe2b7baa7cb665d1bf30fabc
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.3"
4
+ - "2.0.0"
5
+ - "2.1.2"
6
+
@@ -1,40 +1,57 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- omniauth_crowd (2.2.2)
4
+ omniauth_crowd (2.2.3)
5
+ activesupport
5
6
  nokogiri (>= 1.4.4)
6
7
  omniauth (~> 1.0)
7
8
 
8
9
  GEM
9
10
  remote: http://rubygems.org/
10
11
  specs:
11
- addressable (2.3.5)
12
- crack (0.4.1)
13
- safe_yaml (~> 0.9.0)
14
- diff-lcs (1.1.3)
15
- hashie (2.0.5)
16
- mini_portile (0.5.1)
17
- nokogiri (1.6.0)
18
- mini_portile (~> 0.5.0)
19
- omniauth (1.1.4)
20
- hashie (>= 1.2, < 3)
21
- rack
12
+ activesupport (4.1.4)
13
+ i18n (~> 0.6, >= 0.6.9)
14
+ json (~> 1.7, >= 1.7.7)
15
+ minitest (~> 5.1)
16
+ thread_safe (~> 0.1)
17
+ tzinfo (~> 1.1)
18
+ addressable (2.3.6)
19
+ crack (0.4.2)
20
+ safe_yaml (~> 1.0.0)
21
+ diff-lcs (1.2.5)
22
+ hashie (3.2.0)
23
+ i18n (0.6.11)
24
+ json (1.8.1)
25
+ mini_portile (0.6.0)
26
+ minitest (5.4.0)
27
+ nokogiri (1.6.3.1)
28
+ mini_portile (= 0.6.0)
29
+ omniauth (1.2.2)
30
+ hashie (>= 1.2, < 4)
31
+ rack (~> 1.0)
22
32
  rack (1.5.2)
23
33
  rack-test (0.6.2)
24
34
  rack (>= 1.0)
25
- rake (10.1.0)
26
- rspec (2.5.0)
27
- rspec-core (~> 2.5.0)
28
- rspec-expectations (~> 2.5.0)
29
- rspec-mocks (~> 2.5.0)
30
- rspec-core (2.5.2)
31
- rspec-expectations (2.5.0)
32
- diff-lcs (~> 1.1.2)
33
- rspec-mocks (2.5.0)
34
- safe_yaml (0.9.5)
35
- webmock (1.3.5)
36
- addressable (>= 2.1.1)
37
- crack (>= 0.1.7)
35
+ rake (10.3.2)
36
+ rspec (3.0.0)
37
+ rspec-core (~> 3.0.0)
38
+ rspec-expectations (~> 3.0.0)
39
+ rspec-mocks (~> 3.0.0)
40
+ rspec-core (3.0.3)
41
+ rspec-support (~> 3.0.0)
42
+ rspec-expectations (3.0.3)
43
+ diff-lcs (>= 1.2.0, < 2.0)
44
+ rspec-support (~> 3.0.0)
45
+ rspec-mocks (3.0.3)
46
+ rspec-support (~> 3.0.0)
47
+ rspec-support (3.0.3)
48
+ safe_yaml (1.0.3)
49
+ thread_safe (0.3.4)
50
+ tzinfo (1.2.2)
51
+ thread_safe (~> 0.1)
52
+ webmock (1.18.0)
53
+ addressable (>= 2.3.6)
54
+ crack (>= 0.3.2)
38
55
 
39
56
  PLATFORMS
40
57
  ruby
@@ -45,5 +62,5 @@ DEPENDENCIES
45
62
  rack
46
63
  rack-test
47
64
  rake
48
- rspec (~> 2.5.0)
49
- webmock (~> 1.3.4)
65
+ rspec (~> 3.0.0)
66
+ webmock
@@ -0,0 +1,43 @@
1
+ # omniauth_crowd
2
+
3
+ The omniauth_crowd library is an OmniAuth provider that supports authentication against Atlassian Crowd REST apis.
4
+
5
+ [![Build Status](https://travis-ci.org/robdimarco/omniauth_crowd.svg?branch=master)](https://travis-ci.org/robdimarco/omniauth_crowd)
6
+
7
+ ## Helpful links
8
+
9
+ * [Documentation](http://github.com/robdimarco/omniauth_crow)
10
+ * [OmniAuth](https://github.com/intridea/omniauth/)
11
+ * [Atlassian Crowd](http://www.atlassian.com/software/crowd/)
12
+ * [Atlassian Crowd REST API](http://confluence.atlassian.com/display/CROWDDEV/Crowd+REST+APIs)
13
+
14
+ ## Install and use
15
+
16
+ ### 1. Add the OmniAuth Crowd REST plugin to your Gemfile
17
+
18
+ gem 'omniauth', '>= 1.0.0' # We depend on this
19
+ gem "omniauth_crowd"
20
+
21
+ ### 2. You will need to configure OmniAuth to use your crowd authentication. This is generally done in Rails in the config/initializers/omniauth.rb with...
22
+
23
+ Rails.application.config.middleware.use OmniAuth::Builder do
24
+ provider :crowd, :crowd_server_url=>"https://crowd.mycompanyname.com/crowd", :application_name=>"app", :application_password=>"password"
25
+ end
26
+
27
+ You will need to supply the correct server URL, application name and password
28
+
29
+ ## Contributing to omniauth_crowd
30
+
31
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
32
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
33
+ * Fork the project
34
+ * Start a feature/bugfix branch
35
+ * Commit and push until you are happy with your contribution
36
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
37
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
38
+
39
+ ## Copyright
40
+
41
+ Copyright (c) 2011-14 Rob Di Marco. See LICENSE.txt for
42
+ further details.
43
+
@@ -1,52 +1,56 @@
1
1
  require 'omniauth'
2
-
2
+ require 'active_support'
3
+ require 'active_support/core_ext/object'
3
4
  module OmniAuth
4
5
  module Strategies
5
6
  class Crowd
6
7
  include OmniAuth::Strategy
7
-
8
+
8
9
  autoload :Configuration, 'omniauth/strategies/crowd/configuration'
9
10
  autoload :CrowdValidator, 'omniauth/strategies/crowd/crowd_validator'
10
11
  def initialize(app, options = {}, &block)
12
+ options.symbolize_keys!()
11
13
  super(app, {:name=> :crowd}.merge(options), &block)
12
14
  @configuration = OmniAuth::Strategies::Crowd::Configuration.new(options)
13
15
  end
14
-
16
+
15
17
  protected
16
18
 
17
19
  def request_phase
18
20
  if env['REQUEST_METHOD'] == 'GET'
19
21
  get_credentials
22
+ elsif (env['REQUEST_METHOD'] == 'POST') && (not request.params['username'])
23
+ get_credentials
20
24
  else
21
25
  session['omniauth.crowd'] = {'username' => request['username'], 'password' => request['password']}
22
26
  redirect callback_url
23
27
  end
24
28
  end
25
-
29
+
26
30
  def get_credentials
27
31
  OmniAuth::Form.build(:title => (options[:title] || "Crowd Authentication")) do
28
32
  text_field 'Login', 'username'
29
33
  password_field 'Password', 'password'
30
34
  end.to_response
31
35
  end
32
-
33
- def callback_phase
36
+
37
+ def callback_phase
34
38
  creds = session.delete 'omniauth.crowd'
35
39
  return fail!(:no_credentials) unless creds
36
40
  validator = CrowdValidator.new(@configuration, creds['username'], creds['password'])
37
41
  @user_info = validator.user_info
38
-
42
+
39
43
  return fail!(:invalid_credentials) if @user_info.nil? || @user_info.empty?
40
-
44
+
41
45
  super
42
46
  end
43
-
47
+
44
48
  def auth_hash
45
49
  OmniAuth::Utils.deep_merge(super, {
46
50
  'uid' => @user_info.delete("user"),
47
51
  'info' => @user_info
48
52
  })
49
- end
53
+ end
50
54
  end
51
55
  end
52
56
  end
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Crowd
3
- VERSION = "2.2.2"
3
+ VERSION = "2.2.3"
4
4
  end
5
5
  end
@@ -1,5 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  require File.expand_path('../lib/omniauth_crowd/version', __FILE__)
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
 
4
6
  Gem::Specification.new do |gem|
5
7
  gem.authors = ["Robert Di Marco"]
@@ -17,10 +19,11 @@ Gem::Specification.new do |gem|
17
19
 
18
20
  gem.add_dependency 'omniauth', '~> 1.0'
19
21
  gem.add_dependency 'nokogiri', '>= 1.4.4'
22
+ gem.add_dependency 'activesupport', '>= 0'
20
23
  gem.add_development_dependency(%q<rack>, [">= 0"])
21
24
  gem.add_development_dependency(%q<rake>, [">= 0"])
22
25
  gem.add_development_dependency(%q<rack-test>, [">= 0"])
23
- gem.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
24
- gem.add_development_dependency(%q<webmock>, ["~> 1.3.4"])
26
+ gem.add_development_dependency(%q<rspec>, ["~> 3.0.0"])
27
+ gem.add_development_dependency(%q<webmock>)
25
28
  gem.add_development_dependency(%q<bundler>, ["> 1.0.0"])
26
29
  end
@@ -1,8 +1,7 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  describe OmniAuth::Strategies::Crowd, :type=>:strategy do
4
4
  include OmniAuth::Test::StrategyTestCase
5
- @use_sessions = false
6
5
  def strategy
7
6
  @crowd_server_url ||= 'https://crowd.example.org'
8
7
  @application_name ||= 'bogus_app'
@@ -10,85 +9,76 @@ describe OmniAuth::Strategies::Crowd, :type=>:strategy do
10
9
  [OmniAuth::Strategies::Crowd, {:crowd_server_url => @crowd_server_url,
11
10
  :application_name => @application_name,
12
11
  :application_password => @application_password,
13
- :use_sessions => @use_sessions}]
12
+ :use_sessions => @using_sessions}]
14
13
  end
15
14
 
15
+ @using_sessions = false
16
+ let(:config) { OmniAuth::Strategies::Crowd::Configuration.new(strategy[1]) }
17
+ let(:validator) { OmniAuth::Strategies::Crowd::CrowdValidator.new(config, 'foo', 'bar') }
18
+
16
19
  describe 'Authentication Request Body' do
17
- before do
18
- config = OmniAuth::Strategies::Crowd::Configuration.new(strategy[1])
19
- @validator = OmniAuth::Strategies::Crowd::CrowdValidator.new(config, 'foo', 'bar')
20
- end
21
20
 
22
21
  it 'should send password in session request' do
23
- @validator.send(:make_authentication_request_body, 'bar').should == <<-BODY.strip
22
+ body = <<-BODY.strip
24
23
  <password>
25
24
  <value>bar</value>
26
25
  </password>
27
26
  BODY
27
+ expect(validator.send(:make_authentication_request_body, 'bar')).to eq(body)
28
28
  end
29
29
 
30
30
  it 'should escape special characters username and password in session request' do
31
- @validator.send(:make_authentication_request_body, 'bar<').should == <<-BODY.strip
31
+ body = <<-BODY.strip
32
32
  <password>
33
33
  <value>bar&lt;</value>
34
34
  </password>
35
35
  BODY
36
+ expect(validator.send(:make_authentication_request_body, 'bar<')).to eq(body)
36
37
  end
37
38
  end
38
39
 
39
40
  describe 'Session Request Body' do
40
- before do
41
- config = OmniAuth::Strategies::Crowd::Configuration.new(strategy[1])
42
- @validator = OmniAuth::Strategies::Crowd::CrowdValidator.new(config, 'foo', 'bar')
43
- end
44
-
45
41
  it 'should send username and password in session request' do
46
- @validator.send(:make_session_request_body, 'foo', 'bar').should == <<-BODY.strip
42
+ body = <<-BODY.strip
47
43
  <authentication-context>
48
44
  <username>foo</username>
49
45
  <password>bar</password>
50
46
  </authentication-context>
51
47
  BODY
48
+ expect(validator.send(:make_session_request_body, 'foo', 'bar')).to eq(body)
52
49
  end
53
50
 
54
51
  it 'should escape special characters username and password in session request' do
55
- @validator.send(:make_session_request_body, 'foo', 'bar<').should == <<-BODY.strip
52
+ body = <<-BODY.strip
56
53
  <authentication-context>
57
54
  <username>foo</username>
58
55
  <password>bar&lt;</password>
59
56
  </authentication-context>
60
57
  BODY
58
+ expect(validator.send(:make_session_request_body, 'foo', 'bar<')).to eq(body)
61
59
  end
62
60
  end
63
61
 
64
62
  describe 'GET /auth/crowd' do
65
- before do
66
- get '/auth/crowd'
67
- end
68
-
69
63
  it 'should show the login form' do
70
- last_response.should be_ok
64
+ get '/auth/crowd'
65
+ expect(last_response).to be_ok
71
66
  end
72
67
  end
73
68
 
74
69
  describe 'POST /auth/crowd' do
75
- before do
76
- post '/auth/crowd', :username=>'foo', :password=>'bar'
77
- end
78
-
79
70
  it 'should redirect to callback' do
80
- last_response.should be_redirect
81
- last_response.headers['Location'].should == 'http://example.org/auth/crowd/callback'
71
+ post '/auth/crowd', :username=>'foo', :password=>'bar'
72
+ expect(last_response).to be_redirect
73
+ expect(last_response.headers['Location']).to eq('http://example.org/auth/crowd/callback')
82
74
  end
83
75
  end
84
76
 
85
77
  describe 'GET /auth/crowd/callback without any credentials' do
86
- before do
87
- get '/auth/crowd/callback'
88
- end
89
78
  it 'should fail' do
90
- last_response.should be_redirect
91
- last_response.headers['Location'].should =~ /no_credentials/
79
+ get '/auth/crowd/callback'
80
+ expect(last_response).to be_redirect
81
+ expect(last_response.headers['Location']).to match(/no_credentials/)
92
82
  end
93
83
  end
94
84
 
@@ -107,53 +97,52 @@ BODY
107
97
  get '/auth/crowd/callback', nil, 'rack.session'=>{'omniauth.crowd'=> {"username"=>"foo", "password"=>"ba"}}
108
98
  end
109
99
  it 'should call through to the master app' do
110
- last_response.body.should == 'true'
100
+ expect(last_response.body).to eq('true')
111
101
  end
112
102
  it 'should have an auth hash' do
113
103
  auth = last_request.env['omniauth.auth']
114
- auth.should be_kind_of(Hash)
104
+ expect(auth).to be_kind_of(Hash)
115
105
  end
116
106
  it 'should have good data' do
117
107
  auth = last_request.env['omniauth.auth']
118
- auth['provider'].should == :crowd
119
- auth['uid'].should == 'foo'
120
- auth['info'].should be_kind_of(Hash)
121
- auth['info']['groups'].sort.should == ["Developers", "jira-users"].sort
108
+ expect(auth['provider']).to eq(:crowd)
109
+ expect(auth['uid']).to eq('foo')
110
+ expect(auth['info']).to be_kind_of(Hash)
111
+ expect(auth['info']['groups'].sort).to eq(["Developers", "jira-users"].sort)
122
112
  end
123
113
  end
124
114
 
125
- context "when using session endpoint" do
115
+ describe "when using session endpoint" do
126
116
  before do
127
- @use_sessions = true
117
+ @using_sessions = true
128
118
  stub_request(:post, "https://bogus_app:bogus_app_password@crowd.example.org/rest/usermanagement/latest/authentication?username=foo").
129
- to_return(:body => File.read(File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'success.xml')))
119
+ to_return(:body => File.read(File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'success.xml')))
130
120
  stub_request(:post, "https://bogus_app:bogus_app_password@crowd.example.org/rest/usermanagement/latest/session").
131
- to_return(:status => 201, :body => File.read(File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'session.xml')))
121
+ to_return(:status => 201, :body => File.read(File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'session.xml')))
132
122
  stub_request(:get, "https://bogus_app:bogus_app_password@crowd.example.org/rest/usermanagement/latest/user/group/direct?username=foo").
133
- to_return(:body => File.read(File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'groups.xml')))
134
- get '/auth/crowd/callback', nil, 'rack.session'=>{'omniauth.crowd'=> {"username"=>"foo", "password"=>"ba"}}
123
+ to_return(:body => File.read(File.join(File.dirname(__FILE__), '..', '..', 'fixtures', 'groups.xml')))
135
124
  end
136
125
 
137
- after do
138
- @use_sessions = false
139
- end
126
+ after { @using_sessions = false }
140
127
 
141
128
  it 'should call through to the master app' do
142
- last_response.body.should == 'true'
129
+ get '/auth/crowd/callback', nil, 'rack.session'=>{'omniauth.crowd'=> {"username"=>"foo", "password"=>"ba"}}
130
+ expect(last_response.body).to eq('true')
143
131
  end
144
132
 
145
133
  it 'should have an auth hash' do
146
- auth = last_request.env['omniauth.auth']
147
- auth.should be_kind_of(Hash)
134
+ get '/auth/crowd/callback', nil, 'rack.session'=>{'omniauth.crowd'=> {"username"=>"foo", "password"=>"ba"}}
135
+ expect(last_request.env['omniauth.auth']).to be_kind_of(Hash)
148
136
  end
149
137
 
150
138
  it 'should have good data' do
139
+ get '/auth/crowd/callback', nil, 'rack.session'=>{'omniauth.crowd'=> {"username"=>"foo", "password"=>"ba"}}
151
140
  auth = last_request.env['omniauth.auth']
152
- auth['provider'].should == :crowd
153
- auth['uid'].should == 'foo'
154
- auth['info'].should be_kind_of(Hash)
155
- auth['info']['sso_token'].should == 'rtk8eMvqq00EiGn5iJCMZQ00'
156
- auth['info']['groups'].sort.should == ["Developers", "jira-users"].sort
141
+ expect(auth['provider']).to eq(:crowd)
142
+ expect(auth['uid']).to eq('foo')
143
+ expect(auth['info']).to be_kind_of(Hash)
144
+ expect(auth['info']['sso_token']).to eq('rtk8eMvqq00EiGn5iJCMZQ00')
145
+ expect(auth['info']['groups'].sort).to eq(["Developers", "jira-users"].sort)
157
146
  end
158
147
  end
159
148
  end
@@ -165,8 +154,8 @@ BODY
165
154
  get '/auth/crowd/callback', nil, 'rack.session'=>{'omniauth.crowd'=> {"username"=>"foo", "password"=>"ba"}}
166
155
  end
167
156
  it 'should fail' do
168
- last_response.should be_redirect
169
- last_response.headers['Location'].should =~ /invalid_credentials/
157
+ expect(last_response).to be_redirect
158
+ expect(last_response.headers['Location']).to match(/invalid_credentials/)
170
159
  end
171
160
  end
172
161
  end
@@ -1,12 +1,13 @@
1
- require 'rubygems'
2
- require 'rspec'
3
- require 'rspec/autorun'
1
+ require 'bundler/setup'
2
+ Bundler.setup
4
3
  require 'rack/test'
4
+ require 'webmock'
5
5
  require 'webmock/rspec'
6
6
 
7
- include Rack::Test::Methods
8
- include WebMock
9
-
10
7
  require 'omniauth_crowd'
8
+ RSpec.configure do |config|
9
+ WebMock.disable_net_connect!
10
+ config.include Rack::Test::Methods
11
+ config.raise_errors_for_deprecations!
12
+ end
11
13
 
12
- WebMock.disable_net_connect!
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth_crowd
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
5
- prerelease:
4
+ version: 2.2.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Robert Di Marco
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-10-29 00:00:00.000000000 Z
11
+ date: 2015-05-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: omniauth
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,113 +27,113 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: nokogiri
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 1.4.4
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 1.4.4
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
46
55
  - !ruby/object:Gem::Dependency
47
56
  name: rack
48
57
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
58
  requirements:
51
- - - ! '>='
59
+ - - '>='
52
60
  - !ruby/object:Gem::Version
53
61
  version: '0'
54
62
  type: :development
55
63
  prerelease: false
56
64
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
65
  requirements:
59
- - - ! '>='
66
+ - - '>='
60
67
  - !ruby/object:Gem::Version
61
68
  version: '0'
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: rake
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
- - - ! '>='
73
+ - - '>='
68
74
  - !ruby/object:Gem::Version
69
75
  version: '0'
70
76
  type: :development
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
- - - ! '>='
80
+ - - '>='
76
81
  - !ruby/object:Gem::Version
77
82
  version: '0'
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: rack-test
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ! '>='
87
+ - - '>='
84
88
  - !ruby/object:Gem::Version
85
89
  version: '0'
86
90
  type: :development
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
- - - ! '>='
94
+ - - '>='
92
95
  - !ruby/object:Gem::Version
93
96
  version: '0'
94
97
  - !ruby/object:Gem::Dependency
95
98
  name: rspec
96
99
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
100
  requirements:
99
101
  - - ~>
100
102
  - !ruby/object:Gem::Version
101
- version: 2.5.0
103
+ version: 3.0.0
102
104
  type: :development
103
105
  prerelease: false
104
106
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
108
  - - ~>
108
109
  - !ruby/object:Gem::Version
109
- version: 2.5.0
110
+ version: 3.0.0
110
111
  - !ruby/object:Gem::Dependency
111
112
  name: webmock
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
- - - ~>
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
- version: 1.3.4
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
121
  requirements:
123
- - - ~>
122
+ - - '>='
124
123
  - !ruby/object:Gem::Version
125
- version: 1.3.4
124
+ version: '0'
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: bundler
128
127
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
128
  requirements:
131
- - - ! '>'
129
+ - - '>'
132
130
  - !ruby/object:Gem::Version
133
131
  version: 1.0.0
134
132
  type: :development
135
133
  prerelease: false
136
134
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
135
  requirements:
139
- - - ! '>'
136
+ - - '>'
140
137
  - !ruby/object:Gem::Version
141
138
  version: 1.0.0
142
139
  description: This is an OmniAuth provider for Atlassian Crowd's REST API. It allows
@@ -149,10 +146,11 @@ extra_rdoc_files: []
149
146
  files:
150
147
  - .document
151
148
  - .gitignore
149
+ - .travis.yml
152
150
  - Gemfile
153
151
  - Gemfile.lock
154
152
  - LICENSE.txt
155
- - README.rdoc
153
+ - README.md
156
154
  - Rakefile
157
155
  - lib/omniauth/strategies/crowd.rb
158
156
  - lib/omniauth/strategies/crowd/configuration.rb
@@ -167,33 +165,26 @@ files:
167
165
  - spec/spec_helper.rb
168
166
  homepage: http://github.com/robdimarco/omniauth_crowd
169
167
  licenses: []
168
+ metadata: {}
170
169
  post_install_message:
171
170
  rdoc_options: []
172
171
  require_paths:
173
172
  - lib
174
173
  required_ruby_version: !ruby/object:Gem::Requirement
175
- none: false
176
174
  requirements:
177
- - - ! '>='
175
+ - - '>='
178
176
  - !ruby/object:Gem::Version
179
177
  version: '0'
180
- segments:
181
- - 0
182
- hash: 676627675687607674
183
178
  required_rubygems_version: !ruby/object:Gem::Requirement
184
- none: false
185
179
  requirements:
186
- - - ! '>='
180
+ - - '>='
187
181
  - !ruby/object:Gem::Version
188
182
  version: '0'
189
- segments:
190
- - 0
191
- hash: 676627675687607674
192
183
  requirements: []
193
184
  rubyforge_project:
194
- rubygems_version: 1.8.25
185
+ rubygems_version: 2.2.2
195
186
  signing_key:
196
- specification_version: 3
187
+ specification_version: 4
197
188
  summary: An OmniAuth provider for Atlassian Crowd REST API
198
189
  test_files:
199
190
  - spec/fixtures/groups.xml
@@ -1,40 +0,0 @@
1
- = omniauth_crowd
2
-
3
- The omniauth_crowd library is an OmniAuth provider that supports authentication against Atlassian Crowd REST apis.
4
-
5
- == Helpful links
6
-
7
- * <b>Documentation:</b> http://github.com/robdimarco/omniauth_crowd
8
- * <b>OmniAuth:</b> https://github.com/intridea/omniauth/
9
- * <b>Atlassian Crowd:</b> http://www.atlassian.com/software/crowd/
10
- * <b>Atlassian Crowd REST API:</b> http://confluence.atlassian.com/display/CROWDDEV/Crowd+REST+APIs
11
-
12
- == Install and use
13
-
14
- === 1. Add the OmniAuth Crowd REST plugin to your Gemfile
15
- gem 'omniauth', '>= 1.0.0' # We depend on this
16
- gem "omniauth_crowd"
17
-
18
- === 2. You will need to configure OmniAuth to use your crowd authentication. This is generally done in Rails in the config/initializers/omniauth.rb with...
19
-
20
- Rails.application.config.middleware.use OmniAuth::Builder do
21
- provider :crowd, :crowd_server_url=>"https://crowd.mycompanyname.com/crowd", :application_name=>"app", :application_password=>"password"
22
- end
23
-
24
- You will need to supply the correct server URL, application name and password
25
-
26
- == Contributing to omniauth_crowd
27
-
28
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
29
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
30
- * Fork the project
31
- * Start a feature/bugfix branch
32
- * Commit and push until you are happy with your contribution
33
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
34
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
35
-
36
- == Copyright
37
-
38
- Copyright (c) 2011 Rob Di Marco. See LICENSE.txt for
39
- further details.
40
-