1

使用 OpenIDProviderWebForms 示例时,登录时返回的 Claimed Identifier 格式如下:

https://id.example.com/user.aspx/userID

我希望它看起来像:

https://id.example.com/userID

任何想法在哪里处理这个?

注意:这是 DotNetOpenAuth 返回的值,我可以在 IIS 中使用 URL 重写来映射https://id.example.com/userID -> https://id.example.com/user.aspx/userID

谢谢!

4

1 回答 1

0

第一步是确保用户 OpenID 的首选 URL 符合以下要求:

  1. 他们不会重定向到其他 URL
  2. 他们的 HTTP 响应包括成为 OpenID 声明标识符所必需的 HTML 和/或 XRDS 发现标签。

接下来,您必须将代码添加到您的 OpenID 提供程序端点(又名“OP 端点),以便能够将这些用户 URL 转换为与您的数据库中的帐户匹配的规范用户名(反之亦然)。当出现身份验证挑战时,您必须验证试图登录的声称的标识符实际上与登录的用户匹配。

然后只需批准登录。DotNetOpenAuth 不关心您使用哪个 URL 作为claim_id,只要它满足上述要求即可。

于 2013-03-05T05:02:43.590 回答