为什么我们需要在OpenID中使用Discovery URL

时间:2011-05-20 15:18:31

标签: openid

https://www.google.com/accounts/o8/idhttps://me.yahoo.com一样,他们向我发送了终点(谷歌的https://www.google.com/accounts/o8/ud和雅虎的https://open.login.yahooapis.com/openid/op/auth) 所以我的问题是我可以跳过这个我只使用端点吗?

1 个答案:

答案 0 :(得分:7)

对于OpenID协议的initiation and discovery阶段,用户可以传递URI或XRI。如果给出了URI,则必须遵循YADIS protocol以查找服务端点。

如果给定的URL与端点不同,则URL成为“声明的标识符”,OpenID提供者也可以提供“OP本地标识符”。用户在启动协议时不需要指定端点URL。因此,不应跳过此步骤。

作为发现阶段的一部分,还可能会发现各种OpenID扩展,这些扩展可能对您的应用程序有所帮​​助。

The OpenID protocol is documented pretty well.

但是,没有理由不能缓存发现的结果。如果雅虎,你可以编写代码来跳过发现阶段。或者给出了Google端点URL,缓存是一种更通用的解决方案,如果可用的扩展名被更改,它将不会中断。