summaryrefslogtreecommitdiff
path: root/modules/openid/openid.inc
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2010-06-25 18:31:37 +0000
committerDries Buytaert <dries@buytaert.net>2010-06-25 18:31:37 +0000
commit38220bad9e0f0b4bc84523d44ed1052161851380 (patch)
treec17753794d6d2d95c3d6564a583e8bdf77f2ff88 /modules/openid/openid.inc
parentcd5457024d56dedfc0609116223c8608aaaca527 (diff)
downloadbrdo-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.inc11
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;
}