views:

76

answers:

2

Hi Folks,

I'm using OpenId in my website. Love it. Currently, I'm testing my code with my own openId account, which i have with MyOpenId. Whenever I tried to retrieve any data handed to me from MyOpenId, it was empty/null.

After further analysis, Google led me to this post which suggests that, even though there is an official schema, not everyone actually abides by it. Andrew Arnott (author of DotNetOpenId) actually talks about the pains of this, here.

Great.

The good thing about standards is that there's plenty to choose from. :(

So, does anyone have a list of Providers and the schema namespace they use? I'll start out with what I know:-

Official

MyOpenId

A: 

If you just want email, I think you'll find broader support for the Simple Registration Extension (aka sreg).

keturn
I used email as an example only. The question was about AX, not SReg.
Pure.Krome
+1  A: 

IMO, maintaining a list of OPs and their odd behaviors presents a nightmare task and would defeat the purpose of the spec that's supposed to determine behavior. Of course from your perspective you just want the thing to work. :) So here goes...

Part of resolving DotNetOpenAuth ticket 22, which is slated for the v3.2 release, will likely include some of this intelligence built into the library. Basically DNOA will try to figure out what the OP is expecting based on the discovery on the OpenID. Where possible, it will accomodate to the OP's oddities. Where those oddities cannot be discovered, it would automatically just send requests for them all, using both sreg and all commonly used (albeit non-spec) schemas of AX, and wrapping all these details for you and just giving you a simple answer.

In the meantime, you could do this yourself. Just send sreg and an ax request (using all three known forms) and then check all the responses to see what you got. It's a pain, but that's why I blogged about it, which I see you already found. :)

BTW, the three AX schema forms I've seen are on that blog post you linked to.

Andrew Arnott
Cheers Andrew :) Last night i made an extension method called GetAttribute(params string[]), based on how you have the code Attributes.AddRequired(). I basically passed in a params of keys that i expect (which is what i setup in my Attributes.AddRequired(..) code).Not the best thing but seems to work in the interim. Great to see this being done in v3.2 :)I also agree 100% that maintaining a list of OP's lame behaviour is crap. But i was hoping to get something on paper, than stumble forward, blindly. BUT, if it comes down to three common AX schema's, that's workable :)
Pure.Krome
My recommendation is to keep letting the OPs know that the feature is important to you. (Where by "the feature", I mean using a particular schema.) It's not like they're opposed to doing it, it's all a matter of where that task is in their priority queue.
keturn