Consider this scenario. I have my own website, which I use as my identifier, but I use a third-party OpenID provider (in my case yahoo), as described here , to log into Relying Party (RP) sites such as stackoverflow and sourceforge.
It seemed like a wise move:
- I am not blocked by the OpenID provider, because if / when yahoo no longer offers the service or starts charging for it, or I no longer trust it, I can safely switch the provider.
- I have no economic, administrative, or security burden to install and support the OpenID provider on my server.
Question
How should RP work? I understand that he should use the identifier I and use the provider (yahoo) only for authentication (and not for identification). It's right? Has something changed recently? To be clear, I mean that my identification should be
http://www.mysite.com/myPreferredUrl
but not
https://me.yahoo.com/myYahooId (where my site redirects authentication as described on the above website)
Side note
I ask this question also because now it seems that everything is broken (they were fine a few months ago). If I try to log in to stackoverflow, I will write the mysite.com URL, I am correctly redirected to the yahoo website where I log in, it asks me if I want to continue "stackoverflow", I say yes, it "redirects" and on the stackoverflow site I see "This is an OpenID that we have not seen before," it shows my yahoo ID, and I'm actually blocked!
Is this a mistake, or am I missing something?
PS: if you are interested in how I write this question, this is due to the fact that on one of the many machines that I use, the browser still has a valid cookie ....
EDIT: Andrew Arnott's answer below suggested a way to fix my problem (i.e. switch to a different provider). But I'm still interested in some details: what has changed from OpenID 1.1 to 2.0, about delegation? Why was it chosen in the specifications that the provider "break" the delegation? The more you explain, the more likely you are to accept your answer.