I'm trying to write the code to make the OpenID server automatically
delegate to another OpenID configured by the user.

According to the spec at
http://openid.net/specs/openid-authentication-1_1.html#delegating_authentication
I need to know "openid.server" and "openid.delegate" - how do I get those
2 values from an OpenID?

I could discover these values when the user enters their OpenID, and save
them to the database. But what if the OpenID pointed to has a change? For
example, what if the user enters an OpenID that delegates to somewhere
else, and then the delegation configuration changes? (For example, the
user enters "http://candrews.integralblue.com"; as their OpenID, which
delegates to "http://candrews.myopenid.com"; then later, the user decides
that "http://candrews.integralblue.com"; should delegate to
"http://sf.net/candrews"; instead).

So storing "openid.server" and "openid.delegate" to the database doesn't
seem to work. We could discover these values when the page is rendered,
but that means each hit to a profile page results in at least one HTTP
request to the OpenID specified by the profile page's owner, and if that
OpenID delegates to some place else, that's an additional HTTP request.
This option seems too expensive. We could use memcache to mitigate the
hits, but it still seems to be too much.

So, in a nutshell, I don't know how to implement OpenID delegation. Help?

Thanks,
~Craig

_______________________________________________
StatusNet-dev mailing list
StatusNet-dev@lists.status.net
http://lists.status.net/mailman/listinfo/statusnet-dev

Reply via email to