c# - 使用 DotNetOpenAuth 设置带有子域标识符的 OpenID 提供程序

标签 c# .net openid dotnetopenauth

我目前正在尝试在我自己的域名上实现 OpenID 提供程序。 因此,我希望用户的 OpenID 标识符是 user.example.com 而不是默认的 example.com/user.aspx/user..

DotNetOpenAuth 可以这样做吗?如果是这样,我大概需要做哪些改变?

最佳答案

是的,这绝对有可能。

  1. 配置您的 DNS 和网站以及 IIS 以实际响应 user.example.com
  2. 放置一个 default.aspx 文件,使其响应对该域的请求,并通过将您在 user.aspx 示例中找到的标记放入其中,使该 URL 成为 OpenID 声明的标识符。确保在那些指向您的 OP 端点 的标签中使用绝对 URL(可能是 http://www.example.com/provider.ashx )
  3. 修改您的 provider.ashx(或 server.aspx 或 MVC 操作,无论您将其用于 OP 端点)以愿意为 < strong>user.example.com

你就完成了。我没有详细介绍这些步骤,因为这与您以任何方式自定义声明的标识符的 URL 时所采取的步骤相同——无论是否使用特殊主机名。唯一真正特别的步骤是#1:配置IIS。要接受任何随机主机名需要特殊的 DNS 配置,但由于它只是您自己的用户名,您可以将您的用户名硬编码到 DNS 中。

关于c# - 使用 DotNetOpenAuth 设置带有子域标识符的 OpenID 提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3724571/

相关文章:

c# - Unity3d 触摸滑动

c# - 具有通用属性的类必须是通用的?

.net - 手动创建的记录集的行为与断开连接的记录集不同

javascript - 最好的开源JavaScript Open ID选择器是什么?

asp.net-core - ASP.Net Core OpenIdConnect Steam

c# - 使用 Bitmap.Save() 将 TIF 更好地转换为 PNG?

c# - C++/CLI 中是否有等效于 C# "var"关键字的关键字?

c# - 您如何将此查询转换为方法语法?

java - 身份验证提供者和 OAuth

c# - 检查两个集合是否相等