使用DotNetOpenAuth设置带SubDomain标识符的OpenID提供程序

问题描述:

我目前正试图在自己的域名上实现一个OpenID提供程序。 因此,我想用户的OpenID标识符是user.example.com的而不是默认的example.com/user.aspx/user ..使用DotNetOpenAuth设置带SubDomain标识符的OpenID提供程序

是否有可能为DotNetOpenAuthto做到这一点?如果是这样,我需要做些什么改变?

是的,这是完全可能的。

  1. 配置你的DNS和网站(S)和IIS居然要user.example.com回应。
  2. 放置一个default.aspx文件,使其响应该域的请求,并通过将该标签放置在该标签中使该标签成为OpenID声明的标识符,您可以在示例中找到该标签。一定要在那些指向您OP端点标签,它使用绝对URL(可能是http://www.example.com/provider.ashx
  3. 修改您的provider.ashx(或server.aspx,或MVC的行动,无论您正在使用您的OP端点)愿意送断言为user.example.com

大功告成。关于这些步骤,我还没有详细说明,因为当您以任何方式自定义声明的标识符的URL时,您都采取了相同的步骤 - 特殊的主机名或不是。唯一真正特别的步骤是#1:配置IIS。要接受任何随机主机名称,需要特殊的DNS配置,但由于它只是您自己的用户名,您可以将您的用户名硬编码到DNS中。