【问题标题】:How to get normalized url with Janrain openid library?如何使用 Janrain openid 库获取规范化的 url?
【发布时间】:2010-12-31 00:02:29
【问题描述】:

我正在尝试为我的网站实现 openId,并且正在将 Janrain 的库与 php 一起使用。我想检查提供的 openId 用户是否已存储在数据库中。我只想比较规范化的 uri,以避免用户有时不输入“http://...”等情况。 现在,我很难在用户输入 openId 后立即找到可以为我规范化 uri 的特定函数,因此一旦它到达我的服务器,然后将任何内容发送到 openId 提供程序。 顺便说一句,你可以慢慢想象我已经厌倦了试图让所有这些工作,但仍然愿意试一试,所以任何帮助将不胜感激。

【问题讨论】:

    标签: php openid janrain


    【解决方案1】:

    (假设您的意思是 Janrain 的“启用 OpenID”PHP5 库,v 2.2.2 或更高版本。)在 OpenID.php 中定义了Auth_OpenID::normalizeUrl($url),但它被标记为@access private。作为该过程的结果,启动授权事务将为您提供规范化的 URL,但这并不是您真正想要的。您可以忽略私有访问,破解库以使其公开,然后在升级版本时保持您的补丁实施(如果他们曾经发布过)。或者,您可以只查看他们在做什么并将其复制到您自己的函数中,避免任何库黑客攻击和相关的版本控制问题。

    【讨论】:

      【解决方案2】:

      如果你使用类似的东西:

      $url = str_replace(array("http://", "https://", "www."), "", $url);
      

      这应该可以帮助您每次都获得相同的 URL。

      【讨论】:

      • 虽然这可能会给出一致的 URL,但严格来说,它并不是 OpenID 意义上的“规范化”URL。但是,您的建议可能足以满足将 id 与帐户记录相关联的既定目的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2012-05-22
      • 2020-10-11
      • 1970-01-01
      相关资源
      最近更新 更多