【问题标题】:Single-user OpenID server with Rails带有 Rails 的单用户 OpenID 服务器
【发布时间】:2010-08-27 22:03:33
【问题描述】:

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

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

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

也许我能以某种方式区分 OpenID 请求,只有那个时候用 html 响应?

【问题讨论】:

    标签: ruby-on-rails openid ruby-on-rails-3 openid-provider


    【解决方案1】:

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

    • 请参阅Yadis wikipedia page,了解 Yadis 文档是什么以及您需要在 XRDS 文档中返回的内容的概述。
    • rubyonrails.org blog post 介绍了如何处理自定义 MIME 类型。看起来这仍然是它在 Rails 3 中的工作方式(您不需要自定义渲染器)。

    【讨论】:

    • 我添加了 XRDS 响应者,您可以在 sema.in 看到带有 Accept: application/xrds+xml 标头(我使用 htty gem 进行了检查),但我无法在任何设备上使用此 openid 登录网站。例如。 StackOverflow 回答“未找到 OpenID 端点。”
    • 原来很少有网站支持这种openid。我已经用页面替换了重定向。标准的 openid 链接标签无处不在。
    猜你喜欢
    • 1970-01-01
    • 2022-11-14
    • 2016-12-18
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多