【问题标题】:OpenId implementation for web services - need tips/helpWeb 服务的 OpenId 实现 - 需要提示/帮助
【发布时间】:2009-07-31 17:50:52
【问题描述】:

假设我正在尝试实现 OpenId 以依赖于我的使用 Web 服务的 n 层网站。如果有些步骤看起来很奇怪,请告诉我。

1) 我希望用户在文本框中输入他们的 OpenId 网址。例如:http://vidalsasoon.myopenid.com

2) 用户然后单击提交,输入的 Url 使用 OpenId api 发送到我的 Web 服务。使用服务器上的 OpenId API,我可以构建正确的 OpenId 请求。

3) 用户收到他应该进行身份验证的 URL。

4) 用户被重定向到他们的提供商,登录,被重定向回我的网站。

这里的混乱:现在步骤 2 - 4 发生在用户和提供者之间。这些步骤不涉及我的网络服务。

我希望用户此时将他们想要的用户名和 OpenId 发送回 Web 服务。问题是我怎么知道用户/客户端没有篡改它们?

【问题讨论】:

  • 好奇您是否指的是“网络服务”。 Web 服务建议了一个针对浏览器使用的 Web URL 的编程 API。 OpenID 在这种情况下不起作用,尽管 OpenID+OAuth 混合当然可以。

标签: openid dotnetopenauth


【解决方案1】:

有两种方法可以验证用户是否已正确验证

  1. 在您自己和 OpenID 提供者之间建立一个共享密钥。当用户登录到提供程序时,它会与他们共享秘密,而后者又与您共享秘密,然后您可以根据原始共享秘密进行验证。

  2. 通过 OpenIDs check_authentication 规范。一旦用户将信息传递给您,请拨打此电话以进行验证。 Link to Spec

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-12
    相关资源
    最近更新 更多