Как получить нормализованный URL с помощью библиотеки openid Janrain? - PullRequest
0 голосов
/ 31 декабря 2010

Я пытаюсь реализовать openId для своего сайта и использую библиотеку Janrain с php. Я хочу проверить, сохранен ли предоставленный пользователем openId в базе данных. Я хочу сравнить только нормализованные URI, чтобы избежать ситуации, когда пользователь иногда не вводит "http: // ..." и т. Д. Теперь у меня возникают проблемы с поиском конкретной функции, которая может нормализовать для меня uri сразу после того, как пользователь входит в openId, поэтому, как только он попадает на мой сервер, прежде чем что-либо отправляется поставщику openId. Кстати, как вы можете себе представить, я сыт по горло попытками заставить все это работать, но все же готов попробовать, поэтому любая помощь будет высоко цениться.

Ответы [ 2 ]

0 голосов
/ 31 декабря 2010

Если вы используете что-то вроде:

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

Это должно помочь вам каждый раз получать один и тот же URL.

0 голосов
/ 31 декабря 2010

(Предполагается, что вы имеете в виду библиотеку Janrain "OpenID Enabled" PHP5, v 2.2.2 или около того.) В OpenID.php определено Auth_OpenID::normalizeUrl($url), однако оно помечено как @access private. Инициирование транзакции авторизации даст вам нормализованный URL в результате процесса, но это не совсем то, что вы ищете. Вы можете игнорировать частный доступ, взломать библиотеку, чтобы сделать ее общедоступной, а затем просто поддерживать ваш патч в процессе обновления версий (если они когда-либо выпускают одну). В качестве альтернативы вы можете просто посмотреть, что они делают, и скопировать их в свою функцию, избегая каких-либо взломов библиотек и связанных с ними проблем контроля версий.

...