omni_auth_passaporte_web 2.0.0 → 3.0.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.
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in kumade.gemspec
4
4
  gemspec
data/Gemfile.lock CHANGED
@@ -1,48 +1,38 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- omni_auth_passaporte_web (2.0.0)
5
- oa-oauth (= 0.3.2)
4
+ omni_auth_passaporte_web (3.0.0)
5
+ multi_json (>= 1.0.4)
6
+ omniauth-oauth (~> 1.0.1)
6
7
 
7
8
  GEM
8
- remote: http://rubygems.org/
9
+ remote: https://rubygems.org/
9
10
  specs:
10
- addressable (2.2.7)
11
- diff-lcs (1.1.2)
12
- faraday (0.7.6)
13
- addressable (~> 2.2)
14
- multipart-post (~> 1.1)
15
- rack (~> 1.1)
16
- multi_json (1.0.4)
17
- multi_xml (0.4.2)
18
- multipart-post (1.1.5)
19
- oa-core (0.3.2)
20
- oa-oauth (0.3.2)
21
- faraday (~> 0.7.3)
22
- multi_json (~> 1.0.0)
23
- multi_xml (~> 0.4.0)
24
- oa-core (= 0.3.2)
25
- oauth (~> 0.4.0)
26
- oauth2 (~> 0.5.0)
27
- oauth (0.4.5)
28
- oauth2 (0.5.2)
29
- faraday (~> 0.7)
30
- multi_json (~> 1.0)
31
- rack (1.4.1)
32
- rake (0.8.4)
33
- rspec (2.6.0)
34
- rspec-core (~> 2.6.0)
35
- rspec-expectations (~> 2.6.0)
36
- rspec-mocks (~> 2.6.0)
37
- rspec-core (2.6.4)
38
- rspec-expectations (2.6.0)
39
- diff-lcs (~> 1.1.2)
40
- rspec-mocks (2.6.0)
11
+ diff-lcs (1.2.1)
12
+ hashie (1.2.0)
13
+ multi_json (1.6.1)
14
+ oauth (0.4.7)
15
+ omniauth (1.1.3)
16
+ hashie (~> 1.2)
17
+ rack
18
+ omniauth-oauth (1.0.1)
19
+ oauth
20
+ omniauth (~> 1.0)
21
+ rack (1.5.2)
22
+ rake (10.0.3)
23
+ rspec (2.13.0)
24
+ rspec-core (~> 2.13.0)
25
+ rspec-expectations (~> 2.13.0)
26
+ rspec-mocks (~> 2.13.0)
27
+ rspec-core (2.13.0)
28
+ rspec-expectations (2.13.0)
29
+ diff-lcs (>= 1.1.3, < 2.0)
30
+ rspec-mocks (2.13.0)
41
31
 
42
32
  PLATFORMS
43
33
  ruby
44
34
 
45
35
  DEPENDENCIES
46
36
  omni_auth_passaporte_web!
47
- rake (= 0.8.4)
48
- rspec (= 2.6.0)
37
+ rake (~> 10.0.3)
38
+ rspec (~> 2.13.0)
data/README ADDED
@@ -0,0 +1 @@
1
+ For usage example with Rails, see: https://github.com/myfreecomm/exemplo_passaporte_web_rails_3_2
@@ -1,7 +1,7 @@
1
+ # encoding: utf-8
1
2
  $:.unshift(File.dirname(__FILE__))
2
3
 
3
- gem 'oa-oauth'
4
-
5
- require 'omniauth/oauth'
4
+ require 'multi_json'
5
+ require 'omniauth-oauth'
6
6
  require 'oauth/signature/plaintext'
7
- require 'omni_auth_passaporte_web/passaporte_web'
7
+ require 'omni_auth_passaporte_web/passaporte_web'
@@ -1,6 +1,4 @@
1
- require 'omniauth/oauth'
2
- require 'multi_json'
3
-
1
+ # encoding: utf-8
4
2
  module OmniAuth
5
3
  module Strategies
6
4
  #
@@ -8,47 +6,53 @@ module OmniAuth
8
6
  #
9
7
  # Usage:
10
8
  #
11
- # use OmniAuth::Strategies::PassaporteWeb, 'consumerkey', 'consumersecret', {:site=> 'http://sandbox.app.passaporteweb.com.br'}
9
+ # use OmniAuth::Strategies::PassaporteWeb, 'consumerkey', 'consumersecret', :client_options => {:site => 'http://sandbox.app.passaporteweb.com.br'}
12
10
  #
13
11
  class PassaporteWeb < OmniAuth::Strategies::OAuth
14
- def initialize(app, consumer_key, consumer_secret, options = {})
15
- @site = options.delete(:site) || 'https://sandbox.app.passaporteweb.com.br'
16
- super(app, :passaporte_web, consumer_key, consumer_secret,
17
- options.merge({:site => @site ,
18
- :request_token_path => "/sso/initiate",
19
- :authorize_path => "/sso/authorize",
20
- :access_token_path => "/sso/token",
21
- :signature_method => "PLAINTEXT"
22
- }))
23
- end
24
12
 
25
- def auth_hash
26
- OmniAuth::Utils.deep_merge(super, {
27
- 'uid' => user_data['uuid'],
28
- 'user_info' => user_info,
29
- 'extra' => {
30
- 'user_hash' => user_data
31
- }
32
- })
33
- end
13
+ # Give your strategy a name.
14
+ option :name, "passaporte_web"
15
+
16
+ # This is where you pass the options you would pass when
17
+ # initializing your consumer from the OAuth gem.
18
+ option :client_options, {
19
+ :site => "http://sandbox.app.passaporteweb.com.br",
20
+ :request_token_path => "/sso/initiate",
21
+ :authorize_path => "/sso/authorize",
22
+ :access_token_path => "/sso/token",
23
+ :signature_method => "PLAINTEXT"
24
+ }
34
25
 
35
- protected
26
+ # These are called after authentication has succeeded. If
27
+ # possible, you should try to set the UID without making
28
+ # additional calls (if the user id is returned with the token
29
+ # or as a URI parameter). This may not be possible with all
30
+ # providers.
31
+ # uid{ request.params['uuid'] }
32
+ uid{ user_data['uuid'] }
36
33
 
37
- def user_data
38
- @result ||= @access_token.post('/sso/fetchuserdata', nil)
39
- @data ||= MultiJson.decode(@result.body)
40
- end
34
+ info do
35
+ {
36
+ 'uuid' => user_data['uuid'],
37
+ 'nickname' => user_data['nickname'],
38
+ 'email' => user_data['email'],
39
+ 'first_name' => user_data['first_name'],
40
+ 'last_name' => user_data['last_name'],
41
+ 'name' => [user_data['first_name'], user_data['last_name']].join(' ').strip,
42
+ }
43
+ end
44
+
45
+ extra do
46
+ {
47
+ 'user_hash' => user_data
48
+ }
49
+ end
41
50
 
42
- def user_info
43
- {
44
- 'nickname' => user_data['nickname'],
45
- 'email' => user_data['email'],
46
- 'first_name' => user_data['first_name'],
47
- 'last_name' => user_data['last_name'],
48
- 'name' => [user_data['first_name'], user_data['last_name']].join(' ').strip,
49
- }
50
- end
51
+ def user_data
52
+ @result ||= access_token.post('/sso/fetchuserdata', nil)
53
+ @user_data ||= MultiJson.decode(@result.body)
54
+ end
51
55
 
52
56
  end
53
57
  end
54
- end
58
+ end
@@ -1,11 +1,11 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
  $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = %q{omni_auth_passaporte_web}
6
- s.version = "2.0.0"
7
- s.authors = ["Marcos Tapajos"]
8
- s.email = ["marcos@tapajos.me"]
6
+ s.version = "3.0.0"
7
+ s.authors = ["Rodrigo Tassinari de Oliveira", "Marcos Tapajos"]
8
+ s.email = ["rodrigo@pittlandia.net", "marcos@tapajos.me"]
9
9
  s.homepage = %q{http://myfreecomm.com.br}
10
10
  s.summary = %q{Autenticação via SSO usando o Passaporte Web}
11
11
  s.description = s.summary
@@ -13,7 +13,8 @@ Gem::Specification.new do |s|
13
13
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
14
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
15
  s.require_paths = ["lib"]
16
- s.add_dependency('oa-oauth', '0.3.2')
17
- s.add_development_dependency('rspec', '2.6.0')
18
- s.add_development_dependency('rake', '0.8.4')
16
+ s.add_dependency('omniauth-oauth', '~> 1.0.1')
17
+ s.add_dependency('multi_json', '>= 1.0.4')
18
+ s.add_development_dependency('rspec', '~> 2.13.0')
19
+ s.add_development_dependency('rake', '~> 10.0.3')
19
20
  end
@@ -18,23 +18,16 @@ describe OmniAuth::Strategies::PassaporteWeb do
18
18
  :oauth_version=>"1.0",
19
19
  :access_token_path=>"/sso/token",
20
20
  :scheme=>:header,
21
- :site=>"https://sandbox.app.passaporteweb.com.br"
21
+ :site=>"http://sandbox.app.passaporteweb.com.br"
22
22
  }
23
23
  end
24
24
 
25
25
  describe ".auth_hash" do
26
26
  it "should return auth_hash using server" do
27
- @access_token_mock.should_receive(:token).and_return("token")
28
- @access_token_mock.should_receive(:secret).and_return("secret")
27
+ @access_token_mock.should_receive(:token).twice.and_return("token")
28
+ @access_token_mock.should_receive(:secret).twice.and_return("secret")
29
29
  @access_token_mock.should_receive(:post).with("/sso/fetchuserdata", nil).once.and_return(mock(:body => "{\"nickname\":\"nick\",\"last_name\":\"Tapajos\",\"email\":\"mail\",\"first_name\":\"Marcos\"}"))
30
- @passaporte_web.auth_hash.should == {
31
- "user_info"=>{"name"=>"Marcos Tapajos", "nickname"=>"nick", "last_name"=>"Tapajos", "first_name"=>"Marcos", "email"=>"mail"},
32
- "uid"=>nil,
33
- "credentials"=>{"token"=>"token", "secret"=>"secret"},
34
- "extra"=>{"user_hash"=>{"nickname"=>"nick", "last_name"=>"Tapajos", "first_name"=>"Marcos", "email"=>"mail"},
35
- "access_token"=>@access_token_mock},
36
- "provider"=>"passaporte_web"
37
- }
30
+ @passaporte_web.auth_hash.to_hash.should == {"provider"=>"passaporte_web", "uid"=>nil, "info"=>{"uuid"=>nil, "nickname"=>"nick", "email"=>"mail", "first_name"=>"Marcos", "last_name"=>"Tapajos", "name"=>"Marcos Tapajos"}, "credentials"=>{"token"=>"token", "secret"=>"secret"}, "extra"=>{"access_token"=>@access_token_mock, "user_hash"=>{"nickname"=>"nick", "last_name"=>"Tapajos", "email"=>"mail", "first_name"=>"Marcos"}}}
38
31
  end
39
32
  end
40
33
 
metadata CHANGED
@@ -1,51 +1,84 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omni_auth_passaporte_web
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
+ - Rodrigo Tassinari de Oliveira
8
9
  - Marcos Tapajos
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2012-07-05 00:00:00.000000000 Z
13
+ date: 2013-02-28 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
- name: oa-oauth
16
- requirement: &70299455344160 !ruby/object:Gem::Requirement
16
+ name: omniauth-oauth
17
+ requirement: !ruby/object:Gem::Requirement
17
18
  none: false
18
19
  requirements:
19
- - - =
20
+ - - ~>
20
21
  - !ruby/object:Gem::Version
21
- version: 0.3.2
22
+ version: 1.0.1
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *70299455344160
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: 1.0.1
31
+ - !ruby/object:Gem::Dependency
32
+ name: multi_json
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: 1.0.4
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: 1.0.4
25
47
  - !ruby/object:Gem::Dependency
26
48
  name: rspec
27
- requirement: &70299455343460 !ruby/object:Gem::Requirement
49
+ requirement: !ruby/object:Gem::Requirement
28
50
  none: false
29
51
  requirements:
30
- - - =
52
+ - - ~>
31
53
  - !ruby/object:Gem::Version
32
- version: 2.6.0
54
+ version: 2.13.0
33
55
  type: :development
34
56
  prerelease: false
35
- version_requirements: *70299455343460
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 2.13.0
36
63
  - !ruby/object:Gem::Dependency
37
64
  name: rake
38
- requirement: &70299455342580 !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
39
66
  none: false
40
67
  requirements:
41
- - - =
68
+ - - ~>
42
69
  - !ruby/object:Gem::Version
43
- version: 0.8.4
70
+ version: 10.0.3
44
71
  type: :development
45
72
  prerelease: false
46
- version_requirements: *70299455342580
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ~>
77
+ - !ruby/object:Gem::Version
78
+ version: 10.0.3
47
79
  description: Autenticação via SSO usando o Passaporte Web
48
80
  email:
81
+ - rodrigo@pittlandia.net
49
82
  - marcos@tapajos.me
50
83
  executables: []
51
84
  extensions: []
@@ -54,6 +87,7 @@ files:
54
87
  - .gitignore
55
88
  - Gemfile
56
89
  - Gemfile.lock
90
+ - README
57
91
  - Rakefile
58
92
  - lib/omni_auth_passaporte_web.rb
59
93
  - lib/omni_auth_passaporte_web/passaporte_web.rb
@@ -75,7 +109,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
75
109
  version: '0'
76
110
  segments:
77
111
  - 0
78
- hash: 2469858658958075657
112
+ hash: -242045153821639831
79
113
  required_rubygems_version: !ruby/object:Gem::Requirement
80
114
  none: false
81
115
  requirements:
@@ -84,10 +118,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
118
  version: '0'
85
119
  segments:
86
120
  - 0
87
- hash: 2469858658958075657
121
+ hash: -242045153821639831
88
122
  requirements: []
89
123
  rubyforge_project:
90
- rubygems_version: 1.8.17
124
+ rubygems_version: 1.8.25
91
125
  signing_key:
92
126
  specification_version: 3
93
127
  summary: Autenticação via SSO usando o Passaporte Web