diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-06-25 18:31:37 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-06-25 18:31:37 +0000 |
commit | 38220bad9e0f0b4bc84523d44ed1052161851380 (patch) | |
tree | c17753794d6d2d95c3d6564a583e8bdf77f2ff88 /modules/openid/openid.inc | |
parent | cd5457024d56dedfc0609116223c8608aaaca527 (diff) | |
download | brdo-38220bad9e0f0b4bc84523d44ed1052161851380.tar.gz brdo-38220bad9e0f0b4bc84523d44ed1052161851380.tar.bz2 |
- Patch #225535 by flobruit, c960657: OpenID login fails for delegated OpenIDs.
Diffstat (limited to 'modules/openid/openid.inc')
-rw-r--r-- | modules/openid/openid.inc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/modules/openid/openid.inc b/modules/openid/openid.inc index 40ccaa3f9..74cd7c494 100644 --- a/modules/openid/openid.inc +++ b/modules/openid/openid.inc @@ -51,6 +51,11 @@ define('OPENID_NS_1_1', 'http://openid.net/signon/1.1'); define('OPENID_NS_1_0', 'http://openid.net/signon/1.0'); /** + * OpenID namespace used in Yadis documents. + */ +define('OPENID_NS_OPENID', 'http://openid.net/xmlns/1.0'); + +/** * OpenID Simple Registration extension. */ define('OPENID_NS_SREG', 'http://openid.net/extensions/sreg/1.1'); @@ -148,12 +153,12 @@ function _openid_xrds_parse($raw_xml) { foreach ($service_element->Type as $type) { $service['types'][] = (string)$type; } - if ($service_element->children(OPENID_NS_XRD)->Delegate) { - $service['identity'] = (string)$service_element->children(OPENID_NS_XRD)->Delegate; - } if ($service_element->children(OPENID_NS_XRD)->LocalID) { $service['identity'] = (string)$service_element->children(OPENID_NS_XRD)->LocalID; } + elseif ($service_element->children(OPENID_NS_OPENID)->Delegate) { + $service['identity'] = (string)$service_element->children(OPENID_NS_OPENID)->Delegate; + } else { $service['identity'] = FALSE; } |