omniauth-campus 0.2.3 → 0.2.4

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
  SHA1:
3
- metadata.gz: e36b9b46d367ade70cb22b57ca862942db5ff7bc
4
- data.tar.gz: da02ca398497e87bc569606b14aea493bf7b3f58
3
+ metadata.gz: 906a0718fa48d59ead21b2ffa93e81dcdeb3b7b9
4
+ data.tar.gz: df946044012de80f8141aef8656151c1aa514460
5
5
  SHA512:
6
- metadata.gz: 07fbc928226308b24e475424a7b02c8d52a6794db67694171da61dcef582868e0ef13651a443cf6b9a6c6767acee342bc59ed4a2782931343cf65b3bb0127852
7
- data.tar.gz: 794155355488f1db0b65ee324a90a35d7b587f202ce6f9fe9a46d5963238fef568dcfc768b18526e9fad6b6ad8a4c64a1b98ae062695bd9c3adb66fe7d1c4a19
6
+ metadata.gz: f5a2f5bf7c2e8ee948bee97e7d308f2ae1afbd907a98733b7c2d664b8317f4f4dabce6d693015cad334d6e4b72102dc1ad00129c425f5acd7facbe961f47d933
7
+ data.tar.gz: 81648f274247e04161540b82971ef19e06b0ba87b58efded82318a4a8a7ec020d7d9464f4b1ed3a33f6935feb91871b4530dbb043c480e207d59a9bcde4bba0f
Binary file
Binary file
@@ -1,7 +1,8 @@
1
- require 'oauth2'
1
+ require 'oauth'
2
2
  #require 'oauth'
3
3
  require 'omniauth'
4
4
  require 'multi_json'
5
+ require 'net/http'
5
6
  require 'uri'
6
7
 
7
8
  #require 'rack/utils'
@@ -13,32 +14,18 @@ module OmniAuth
13
14
  include OmniAuth::Strategy
14
15
 
15
16
  option :name, 'campus'
16
- args [:consumer_key, :consumer_secret]
17
+ args [:consumer_key, :consumer_secret, :endpoint]
18
+ option :endpoing, 'http://community3dev.devcloud.acquia-sites.com/api'
17
19
  option :consumer_key, nil
18
20
  option :consumer_secret, nil
21
+ option :authorize_params, {}
22
+ option :request_params, {}
19
23
 
20
- option :client_options, {
21
- #:site => 'http://community3dev.devcloud.acquia-sites.com/api',
22
- #:token_url => "/oauth/request_token",
23
- #:access_url => "/oauth/request_access",
24
- #:authorize_path => "/oauth/authorize"
25
-
26
- :site => "www.vistacampus.org/",
27
- :token_url => '/oauth/access_token',
28
- :ssl => {:version => "SSLv3"}
29
- }
30
24
  option :fields, [:name, :email]
31
25
 
32
- option :access_token_options, {
33
- :header_format => 'OAuth %s',
34
- :param_name => 'access_token'
35
- }
36
26
 
37
27
  attr_accessor :access_token
38
28
 
39
- def client
40
- ::OAuth2::Client.new(options.consumer_id, options.consumer_secret, deep_symbolize(options.client_options))
41
- end
42
29
 
43
30
 
44
31
  #site: 'http://community3dev.devcloud.acquia-sites.com/api'
@@ -61,23 +48,59 @@ module OmniAuth
61
48
  form.to_response
62
49
  end
63
50
 
51
+ def callback_phase
52
+ return fail!(:invalid_credentials) if !authentication_response
53
+ return fail!(:invalid_credentials) if authentication_response.code.to_i >= 400
54
+ super
55
+ end
64
56
 
65
- uid {raw_info['uid']}
66
-
67
- info do {
68
- name: raw_info['name'],
69
- email: raw_info['email']
70
- }
57
+ def api_uri
58
+ options.endpoint
71
59
  end
72
60
 
73
- extra do
74
- raw_info
61
+ def name
62
+ request['name']
75
63
  end
76
64
 
77
- def raw_info
78
- @raw_info ||= MultiJson.decode(access_token.get('/me')).body
65
+ def email
66
+ request['email']
79
67
  end
80
68
 
69
+
70
+ #uid {raw_info['uid']}
71
+
72
+ #info do {
73
+ # name: raw_info['name'],
74
+ # email: raw_info['email']
75
+ #}
76
+ #end
77
+ #
78
+ # extra do
79
+ # raw_info
80
+ # end
81
+
82
+ # def raw_info
83
+ # @raw_info ||= MultiJson.decode(access_token.get('/me')).body
84
+ # end
85
+
86
+ def authentication_response
87
+ unless @authentication_response
88
+ return unless name && email
89
+
90
+ uri = URI(api_uri)
91
+ http = Net::HTTP.new(uri.host, uri.port)
92
+ if uri.scheme == 'https'
93
+ http.use_ssl = true
94
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
95
+ end
96
+
97
+ req = Net::HTTP::Get.new(uri.request_uri)
98
+ req.basic_auth name, email
99
+ @authentication_response = http.request(req)
100
+ end
101
+
102
+ @authentication_response
103
+ end
81
104
  end
82
105
  end
83
106
  end
Binary file
@@ -1,6 +1,6 @@
1
1
  module Omniauth
2
2
  module Campus
3
- VERSION = "0.2.3"
3
+ VERSION = "0.2.4"
4
4
  end
5
5
  end
6
6
 
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
23
  spec.add_runtime_dependency 'omniauth', '~> 1.0'
24
- #spec.add_runtime_dependency 'oauth'
25
- spec.add_dependency 'oauth2', '~> 0.8.0'
24
+ spec.add_runtime_dependency 'oauth'
25
+ #spec.add_dependency 'oauth2', '~> 0.8.0'
26
26
  spec.add_dependency 'faraday', ['>= 0.8', '<0.10']
27
27
  spec.add_dependency 'multi_json', '~> 1.3'
28
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-campus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - johnvehr
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: oauth2
56
+ name: oauth
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.8.0
61
+ version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.8.0
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: faraday
71
71
  requirement: !ruby/object:Gem::Requirement