0

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

4

2 回答 2

0

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

于 2010-12-31T00:32:48.310 回答
0

如果你使用类似的东西:

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

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

于 2010-12-31T01:05:55.913 回答