On Dec 17, 2007 1:35 AM, Alex Little <alext...@googlemail.com> wrote:
> .... I tried running a packet sniffer as you say, but unfortunately
> it doesn't give any useful insights as to why my consumer is going
> wrong. The reason for this is that the mode=associate request is
> directly between the RP & OP (so directly from simpy.com consumer to
> LiveJournal openid server), so my packet sniffer can't pick up these
> requests.
I generally only use the JOID library in provider, not consumer, mode
but I have found the JanRain example servers to be quite useful in
testing. I set up both my JOID-based provider server and the JanRain
consumer to run locally so I can monitor all transactions, including
association. The JanRain Python implementation is good quality code
and quite easy to hack to do whatever you need it to in order to test.
It is also nice to verify that the JOID code interoperates with other
implementations like this.
So: you might want to try one of the JanRain example provider servers
and test against that.
> My suspicion is that most of these consumers are working on
> dumb-mode and so don't do an association request, whereas the joid
> example consumer is working in smart-mode. I also suspect that some
> of the openid servers don't yet support the association requests and
> that's where the problem lies, but that really is just a theory on
> my part (anyone feel free to correct me if I'm wrong here!) - I'm
> posted a query to LiveJournal tech support to see if they can shed
> any light on this.
Another thing you could use for debugging is VeriSign's SeatBelt
Firefox extension (https://pip.verisignlabs.com/seatbelt.do). If you
go to about:config and create a new boolean preference parameter named
"oidextension.trace" set to "true", it will display OpenID
authentication transactions in the Firefox error console in a nicely
formatted form. From that it will be very easy to tell if any of the
other consumers you're looking at are running in smart or dumb mode.
I'm pretty sure most run with associations turned on, and all the
providers I've checked do support it.
Cheers,
Barry
A couple more tips:
On Dec 18, 2007 1:15 AM, Alex Little <alext...@googlemail.com> wrote:
> yes, I've run the JanRain (example) consumer against my LiveJournal OpenID
> and that works fine - but this example consumer doesn't (according to my
> packet sniffer) issue an associate request - so the problem I have with the
> joid consumer never arises.
If you're having trouble with the JOID consumer code you should try
running it against the JanRain example _provider_ server. I'm pretty
sure that it supports association.
> The problem I'm having is very easy to replicate - I'm simply using the
> default example consumer from the joid.war and entering a (valid)
> LiveJournal OpenID, and then I get the error occuring with "error: unknown
> mode " response from LiveJournal during the associate request. You can try
> with my LJ OpenID: http://alextlittle.livejournal.com (I don't get as far as
> actually seeing the login form) and I'd be interested to know if other
> people get the same error I do or whether it works for them. My colleague
> has the same issue with her LJ OpenID.
I think you'll have more luck debugging the JOID consumer if you run
it with a local OP as I suggested above. At least then you'll have
more control over the OP and will be better able to figure out exactly
what is going wrong in the transaction.
> I tried to use the seatbelt ff extension, but I didn't know what to enter as
> the URL under the 'add provider' option to add LJ as a provider - I tried my
> LJ OpenID & their server url - but kept getting the error that it wasn't a
> valid seatbelt configuration file - can anyone let me know if the valid url
> for LJ to be able to use the seatbelt extension?
I don't know if LiveJournal supports the seatbelt extension or not
(probably not from the sounds of things), but that shouldn't stop you
from using the OpenID trace feature of the seatbelt extension.
Hope that helps you debug things a little,
- Barry
HttpClient client =
new HttpClient();--
Sergey Vladimirov
HttpClient client =
new HttpClient();--
Sergey Vladimirov
I was surprised to see this wasn't in trunk. Here's a Java 1.4 version
of the above as a patch against r93. Hope it's useful.
The only catch is that I had to change the Request.toMap() method from
default package-private to public. There might be a better interface
but I didn't see one right away.
Thanks.
--
William Ono <a1jo...@tinny.soundwave.net>