Because the openid.realm is generated as

<?php
url
('', array('absolute' => TRUE));
?>
, the realm will different depending on which language page I'm on. On a default language page it will be http://example.com/ while on a Hungarian page, it will be http://example.com/hu if language path switching is turned on.

What this means is that the relying party will need to maintain multiple records for this site, since it will report different URLs based on which language page I was on.

My initial suggestion is to always use the default language to formulate the OpenID realm. This might however not be good for cases when domains play a part in language negotiation. Or better said, it is just a matter of perception. The same user on different domains showing the same site would probably equally be eligible to use his OpenID, so providing the default site root (without language affecting it) is the best as OpenID realm IMHO.

Files: 
CommentFileSizeAuthor
#17 openid-language-d6_751578_17.patch912 bytessanduhrs
PASSED: [[SimpleTest]]: [MySQL] 190 pass(es).
[ View ]
#16 openid-language-d6_751578_16.patch599 bytessanduhrs
PASSED: [[SimpleTest]]: [MySQL] 190 pass(es).
[ View ]
#11 openid-language-d6_751578_10.patch904 bytesxamanu
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch openid-language-d6_751578_10.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]
#10 openid-language-6.patch912 bytesxamanu
PASSED: [[SimpleTest]]: [MySQL] 190 pass(es).
[ View ]
#1 openid-language.patch1.12 KBGábor Hojtsy
PASSED: [[SimpleTest]]: [MySQL] 19,163 pass(es).
[ View ]
openid-language.patch598 bytesGábor Hojtsy
PASSED: [[SimpleTest]]: [MySQL] 19,164 pass(es).
[ View ]

Comments

StatusFileSize
new1.12 KB
PASSED: [[SimpleTest]]: [MySQL] 19,163 pass(es).
[ View ]

In fact, if you have the default language set, the language will be included even in this case in the URL. I think we can just skip using url() and use $base_url directly.

Status:Active» Needs review

I agree that using $base_url seems to be the best approach.

(I wonder why the test status is "Ignored")

+    $request['openid.realm'] = $base_url .'/';
Why add a trailing slash?

It is how url() would have generated this before the patch (if without language URL mangling), so for backwards compatibility. Ie. if you already have an association with this URL on another provider, we should send the same URL going forward.

Status:Needs review» Reviewed & tested by the community

Sounds reasonable.

Status:Reviewed & tested by the community» Fixed

Committed to CVS HEAD. Thanks.

Status:Fixed» Closed (fixed)

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

Hi,

Is this going to be fixed on Drupal 6 as well or is it just for Drupal 7 ?

Thank you.

Version:7.x-dev» 6.x-dev
Status:Closed (fixed)» Needs review
StatusFileSize
new912 bytes
PASSED: [[SimpleTest]]: [MySQL] 190 pass(es).
[ View ]

Backport for Drupal 6. Since this is a bug it would be nice to have it commited to Drupal 6.

StatusFileSize
new904 bytes
FAILED: [[SimpleTest]]: [MySQL] Unable to apply patch openid-language-d6_751578_10.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]

Uploading patch that works fine with drush make

Status:Needs review» Needs work

The last submitted patch, openid-language-d6_751578_10.patch, failed testing.

Status:Needs work» Needs review

Needs review. Please.

#11: openid-language-d6_751578_10.patch queued for re-testing.

Status:Needs review» Needs work

The last submitted patch, openid-language-d6_751578_10.patch, failed testing.

Status:Needs work» Reviewed & tested by the community
StatusFileSize
new599 bytes
PASSED: [[SimpleTest]]: [MySQL] 190 pass(es).
[ View ]

Rerolling && RTBC.

StatusFileSize
new912 bytes
PASSED: [[SimpleTest]]: [MySQL] 190 pass(es).
[ View ]

Sorry, lost the global underway.

Status:Reviewed & tested by the community» Fixed

Thanks, committed, pushed.

Status:Fixed» Closed (fixed)

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