personal OpenID URLs don't work

christefano - November 10, 2008 - 10:49
Project:OpenID URL
Version:6.x-1.x-dev
Component:Code
Category:bug report
Priority:critical
Assigned:Unassigned
Status:closed
Description

The project page says that users can "delegate their own user profiles as OpenID URLs" but the module doesn't actually display the <link rel="openid.server" href=" ... " /> and <link rel="openid.delegate" href=" ... " /> headers on individual user profiles. I checked and it isn't doing that for http://robloach.net/user/1 either.

Am I missing something? OpenID Enabled's OpenID test loves the front page of my site but it's the personal OpenID URLs that I'm most interested in.

#1

Rob Loach - November 10, 2008 - 14:18

This only happens if access to the user profile is available. Could you try 6.x-1.x and see if that fixes it?

#2

christefano - November 10, 2008 - 21:51
Version:6.x-1.4» 6.x-1.x-dev

Profiles are definitely visible to all roles. I installed the 6.x-dev version over the 6.x-1.4 and there was no change.

Let me know if you want access to the site I'm working on.

#3

planetholt - March 1, 2009 - 13:22

I may have found the problem. In openidurl_save_profile(…), it checks to see if $edit['openidurl'] is set. This is created in the form profile (lines 109-115), but only as the name of the fieldset containing the actual fields to be submitted, not as an actual field. It therefore doesn't get submitted when the user saves the form, and is therefore not set on the $edit array.

For me, commenting out lines 162 and 167 seemed to work:

<?php

function openidurl_save_profile(&$edit, &$user, $category, $register = FALSE) {
//  if (isset($edit['openidurl'])) {
   
variable_set('openidurl_' . $user->uid .'_server', isset($edit['openidurl_server']) ? $edit['openidurl_server'] : '');
   
variable_set('openidurl_' . $user->uid .'_delegate', isset($edit['openidurl_delegate']) ? $edit['openidurl_delegate'] : '');
   
variable_set('openidurl_' . $user->uid .'_xrds', isset($edit['openidurl_xrds']) ? $edit['openidurl_xrds'] : '');
   
$edit['openidurl'] = NULL;
//  }
}
?>

I doubt this is really the best solution, especially since I see some other threads discussing the possibility of moving the user data to another table, which I also support.

#4

Rob Loach - August 26, 2009 - 21:25

#5

System Message - September 9, 2009 - 21:30
Status:fixed» closed

Automatically closed -- issue fixed for 2 weeks with no activity.

 
 

Drupal is a registered trademark of Dries Buytaert.