There seems to be a problem with the OpenID-Login of Drupal an the xmppid.net service.
xmppid offers logins into OpenID-enabled websites with your Jabber ID.
The OpenID has the format xmppid.net/your_jabber_id.
The Jabber ID has the same format like an email-address: "username@server.tld", so the OpenID is like "xmppid.net/username@server.tld".
This works for every OpenID-Site I used until now, but not with drupal-sites.
The OpenID-Login of drupal seems to cut the OpenID at the @ so that xmppid.net only get a request for "username" instead of "username@server.tld".
I tested it with my own drupal installation (6.2) and some other sites.
Is that a bug or a specification of OpenIDs Standard?

Comments

waddles’s picture

As far as i can tell, there's nothing in any of the normalization functions that would make that not work. It's certainly within spec. When you say "The OpenID-Login of drupal seems to cut the OpenID at the @" - are you guessing or looking at a tcpdump?

When I do a tcpdump, it all looks fine to me. Here is the relevant request and xmppid.net's response:

GET /username@server.tld HTTP/1.0
Host: xmppid.net
User-Agent: Drupal (+http://drupal.org/)
Content-Length: 0
Accept: application/xrds+xml

HTTP/1.1 200 OK
Date: Sat, 10 May 2008 14:50:29 GMT
Server: WSGIServer/0.1 Python/2.4.4
Content-Type: text/html; charset=utf-8
Via: 1.0 xmppid.net
Connection: close


<!DOCTYPE html>
<html>
  <head>
    <title>XMPP OpenID Login - username&#x0040;server.tld</title>
    <link rel="openid.server" href="http://xmppid.net/server">
<meta http-equiv="x-xrds-location" content="http://xmppid.net/yadis?jabber=username&#x0040;server.tld">
...

Notice that Drupal requests the URI with an @ but it gets returned as &#x0040;

waddles’s picture

Status: Active » Closed (works as designed)
prameya’s picture

I moved my post here... http://drupal.org/node/257143

campuslync’s picture

How do I add this as a login on my website? I am trying to provide my readers a way to login using any social networking site of their choice.

Thank you,