Ruby on rails 带有Rails的单用户OpenID服务器

Ruby on rails 带有Rails的单用户OpenID服务器,ruby-on-rails,openid,ruby-on-rails-3,openid-provider,Ruby On Rails,Openid,Ruby On Rails 3,Openid Provider,我的网站的根页面通过http头自动将所有用户重定向到某个子页面 http://example.com/ → http://example.com/subpage 我想使用我的域example.com作为OpenID。问题是我必须向我的根页面添加一些标记,但它应该重定向子页面上的所有用户。我可以更改重定向类型并使用元标记等。但有没有更好的方法来实现这一点,并且不破坏即时http重定向 也许我可以通过某种方式区分OpenID请求和仅在那一次使用html响应?您可以通过设置X-XRDS-locatio

我的网站的根页面通过http头自动将所有用户重定向到某个子页面

http://example.com/ → http://example.com/subpage

我想使用我的域
example.com
作为OpenID。问题是我必须向我的根页面添加一些标记,但它应该重定向子页面上的所有用户。我可以更改重定向类型并使用元标记等。但有没有更好的方法来实现这一点,并且不破坏即时http重定向


也许我可以通过某种方式区分OpenID请求和仅在那一次使用html响应?

您可以通过设置
X-XRDS-location
标题指定文档的位置(在
public/
中可以是静态文件),或者,您可以选择在应用程序根目录下动态处理
应用程序/xrds+xml
MIME类型

  • 有关Yadis文档的内容以及需要在XRDS文档中返回的内容的概述,请参阅
  • 关于如何处理自定义MIME类型有一个详细的说明。看起来它仍然是这样工作的(您不需要自定义渲染器)

我添加了
XRDS
响应程序,您可以在
Accept:application/XRDS+xml
标题处看到它(我与htty gem进行了检查),但我无法使用此openid登录任何网站。例如,StackOverflow回答“找不到OpenID端点”。事实证明,很少有网站支持这种OpenID。我已将重定向替换为一个页面。标准的openid链接标记随处可见。