如何使用Janrain openid库获取规范化URL?

时间:2010-12-31 00:02:30

标签: php openid janrain

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

如果你使用类似的东西:

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

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