update the status here, this actually works fairly well
[ikiwiki] / doc / forum / google_openid_broken__63__.mdwn
1 Now that google supports using thier profiles as OpenIDs, that can be used
2 directly to sign into ikiwiki. Just use, for example, 
3 <http://www.google.com/profiles/joeyhess> . Tested and it works. --[[Joey]] 
4
5 > This seems to work fine if you use the profile directly as an OpenID.  It doesn't seem to work with delegation.  From that I can see, this is a deliberate decision by Google for security reasons.  See the response [here](http://groups.google.com/group/google-federated-login-api/browse_thread/thread/825067789537568c/23451a68c8b8b057?show_docid=23451a68c8b8b057). -- [[Will]]
6
7 ## historical discussion
8
9 when I login via to this wiki (or ours) via Google's OpenID, I get this error:
10
11 Error: OpenID failure: no_identity_server: The provided URL doesn't declare its OpenID identity server. 
12
13 Any idea how to fix this??
14
15 > Google is [doing things with openid that are not in the spec](http://googledataapis.blogspot.com/2008/10/federated-login-for-google-account.html)
16 > and it's not clear to me that they intend regular openid to work at all.
17 > What is your google openid URL so I can take a look at the data they are
18 > providing? --[[Joey]] 
19
20
21 http://openid-provider.appspot.com/larrylud
22
23 > I've debugged this some and filed
24 > <https://rt.cpan.org/Ticket/Display.html?id=48728> on the Openid perl
25 > module. It's a pretty easy fix, so I hope upstream will fix it quickly.
26 > --[[Joey]] 
27
28 >> A little more information here:  I'm using that same openid provider at the moment.  Note that
29 >> that provider isn't google - it is someone using the google API to authenticate.  I normally have it
30 >> set up as a redirect from my home page (which means I can change providers easily).
31
32     <link rel="openid.server" href="http://openid-provider.appspot.com/will.uther">
33     <link rel="openid.delegate" href="http://openid-provider.appspot.com/will.uther">
34
35 >> In that mode it works (I used it to log in to make this edit).  However, when I try the openid
36 >> URL directly, it doesn't work.  I think there is something weird with re-direction.  I hope this
37 >> isn't a more general security hole.
38 >> -- [[Will]]
39
40 ----
41
42 So, while the above bug will probably get fixed sooner or later,
43 the best approach for those of you needing a google openid now is
44 to use gmail.
45
46
47 Just a note that someone has apparently figured out how to use a google
48 openid, and not a third-party provider either, to edit this site. 
49 The openid is
50 <https://www.google.com/accounts/o8/id?id=AItOawltlTwUCL_Fr1siQn94GV65-XwQH5XSku4>
51 (what a mouthfull!), and I don't know who that is or how to use it since it
52 points to a fairly useless xml document, rather than a web page. --[[Joey]]
53
54 > That string is what's received via the discovery protocol. The user logging in with a Google account is not supposed to write that when logging in, but rather <https://www.google.com/accounts/o8/id>. The OpenID client library will accept that and redirect the user to a sign in page, which will return that string as the OpenID. It's not really usable as an identifier for edits and whatnots, but an alternative would be to use the attribute exchange extension to get the email address and display that. See <http://code.google.com/apis/accounts/docs/OpenID.html#Parameters>.
55
56 > Yahoo's OpenID implementation works alike, but I haven't looked at it as much. It uses <https://me.yahoo.com/> to receive the endpoint.
57
58 > I've added buttons that submit the two above URLs for logging in with a Google and Yahoo OpenID, respectively, to my locally changed OpenID login plugin.
59
60 > Using the Google profile page as the OpenID is really orthogonal to the above. --[[kaol]]
61
62 >> First, I don't accept that the openid google returns from their 
63 >> generic signin url *has* to be so freaking ugly. For contrast, 
64 >> look at the openid you log in as if you use the yahoo url.
65 >> <https://me.yahoo.com/joeyhess#35f22>. Nice and clean, now
66 >> munged by ikiwiki to "joeyhess [me.yahoo.com]".
67 >> 
68 >> Displaying email addresses is not really an option, because ikiwiki
69 >> can't leak user email addresses like that. Displaying nicknames or
70 >> usernames is, see [[todo/Separate_OpenIDs_and_usernames]].
71 >>
72 >> It would probably be good if the openid plugin could be configured with
73 >> a list of generic openid urls, so it can add quick login buttons using
74 >> those urls.
75 >>
76 >> The ugly google url will still be exposed here and there where
77 >> a unique user id is needed. That can be avoided by not using the generic
78 >> <https://www.google.com/accounts/o8/id>, but instead your own profile
79 >> like <http://www.google.com/profiles/joeyhess>. --[[Joey]]