代码之家  ›  专栏  ›  技术社区  ›  dso

如何将其他开放ID提供者添加到OpenIDrelyingParty?

  •  1
  • dso  · 技术社区  · 15 年前

    我正在尝试使用 DotNetOpenAuth 在ASP.NET MVC上。我使用的是当前版本3.3.1。

    使用包含的MVC示例,我可以看到OpenIDrelyingParty类可以根据用户指定的ID自动识别并重定向到一些开放ID提供者,如myopenid.com和yahoo。

    如何让OpenIDRelyingParty对Windows Live/Hotmail和Google开放式ID执行相同操作?

    更新

    我的问题可能是我不清楚开放ID是什么,这是我正在做的,也许有人可以解释为什么我的期望是错误的:

    • 当我输入一个雅虎邮箱地址作为开放ID时,它会重定向到雅虎登录页面。酷。

    • 当我输入我唯一的myopenid.com名称时,它会重定向到myopenid.com登录页面。酷。

    • 但当我对Windows Live电子邮件地址、hotmail地址或gmail地址执行相同操作时,会收到一个错误:“找不到打开的ID端点”。

    如果开放ID必须是URL,那么为什么使用雅虎电子邮件地址有效?我认为这是因为OpenIDrelyingParty类具有一些智能,可以将常见的电子邮件地址映射到提供程序的URL…我是不是错过了什么?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Andrew Arnott    15 年前

    它在myopenid.com和其他许多网站上“自动”工作,因为它们是真正的openid提供者。

    电子邮件地址不是OpenID标识符,但由于OpenID标识符解析规则,电子邮件地址 发生 如果电子邮件地址的域部分是“op identifier”,则执行此操作。yahoo.com“本身就是一个openid标识符,所以任何以@yahoo.com结尾的电子邮件地址都可以工作,这就是您看到的。

    Gmail和Live ID电子邮件和URL不起作用的原因是Live ID还不是OpenID提供商。不幸的是,Gmail的操作标识符不仅仅是“gmail.com”。相反,它是 https://www.google.com/accounts/o8/id 说真的。这是一个很长的网址。但如果你输入(或只是 tinyurl.com/googop )你可以使用你的Gmail(或任何谷歌)账户登录。

        2
  •  1
  •   blowdart    15 年前

    用户在OpenID字段中输入的URL足以进行重定向(例如 http://blowdart.openid.example ,假设openid提供程序是完整的openid提供程序。你不需要做任何特别的事情。

    推荐文章