oa-openid 0.1.3 → 0.1.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.
- data/lib/omniauth/openid/gapps.rb +32 -0
- data/lib/omniauth/strategies/open_id.rb +3 -3
- metadata +8 -7
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'openid/consumer'
|
2
|
+
require 'gapps_openid'
|
3
|
+
|
4
|
+
module OpenID
|
5
|
+
# Because gapps_openid changes the discovery order
|
6
|
+
# (looking first for Google Apps, then anything else),
|
7
|
+
# we need to monkeypatch it to make it play nicely
|
8
|
+
# with others.
|
9
|
+
def self.discover(uri)
|
10
|
+
discovered = self.default_discover(uri)
|
11
|
+
|
12
|
+
if discovered.last.empty?
|
13
|
+
info = discover_google_apps(uri)
|
14
|
+
return info if info
|
15
|
+
end
|
16
|
+
|
17
|
+
return discovered
|
18
|
+
rescue OpenID::DiscoveryFailure => e
|
19
|
+
info = discover_google_apps(uri)
|
20
|
+
|
21
|
+
if info.nil?
|
22
|
+
raise e
|
23
|
+
else
|
24
|
+
return info
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.discover_google_apps(uri)
|
29
|
+
discovery = GoogleDiscovery.new
|
30
|
+
discovery.perform_discovery(uri)
|
31
|
+
end
|
32
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'rack/openid'
|
2
|
-
require '
|
2
|
+
require 'omniauth/openid/gapps'
|
3
3
|
require 'omniauth/openid'
|
4
4
|
|
5
5
|
module OmniAuth
|
@@ -24,7 +24,7 @@ module OmniAuth
|
|
24
24
|
}
|
25
25
|
|
26
26
|
def initialize(app, store = nil, options = {})
|
27
|
-
super(app, options
|
27
|
+
super(app, options.delete(:name) || :open_id)
|
28
28
|
@options = options
|
29
29
|
@options[:required] ||= [AX[:email], AX[:first_name], AX[:last_name], 'email', 'fullname']
|
30
30
|
@options[:optional] ||= [AX[:nickname], AX[:city], AX[:state], AX[:website], AX[:image], 'postcode', 'nickname']
|
@@ -47,7 +47,7 @@ module OmniAuth
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def identifier
|
50
|
-
request[IDENTIFIER_URL_PARAMETER]
|
50
|
+
options[:identifier] || request[IDENTIFIER_URL_PARAMETER]
|
51
51
|
end
|
52
52
|
|
53
53
|
def request_phase
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oa-openid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Michael Bleigh
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-12 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -24,12 +24,12 @@ dependencies:
|
|
24
24
|
requirements:
|
25
25
|
- - "="
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
hash:
|
27
|
+
hash: 19
|
28
28
|
segments:
|
29
29
|
- 0
|
30
30
|
- 1
|
31
|
-
-
|
32
|
-
version: 0.1.
|
31
|
+
- 4
|
32
|
+
version: 0.1.4
|
33
33
|
requirement: *id001
|
34
34
|
name: oa-core
|
35
35
|
prerelease: false
|
@@ -167,6 +167,7 @@ extensions: []
|
|
167
167
|
extra_rdoc_files: []
|
168
168
|
|
169
169
|
files:
|
170
|
+
- lib/omniauth/openid/gapps.rb
|
170
171
|
- lib/omniauth/openid.rb
|
171
172
|
- lib/omniauth/strategies/google_apps.rb
|
172
173
|
- lib/omniauth/strategies/open_id.rb
|