2010-12-31 3 views
0

내 사이트에 openId를 구현하려고하는데 PHP가 포함 된 Janrain의 라이브러리를 사용하고 있습니다. openId 사용자가 이미 데이터베이스에 저장되어 있는지 확인하고 싶습니다. 사용자가 "http : // ..."등을 입력하지 않을 때 상황을 피하기 위해 정규화 된 uri 만 비교하고 싶습니다. 사용자 바로 다음 날 uri를 정상화 할 수있는 특정 기능을 찾는 데 어려움이 있습니다. openId에 들어가기 때문에 내 서버에 도착하자마자 openId 공급자에게 무엇이 보내지기 전에. btw 당신이 천천히 상상할 수있는 것처럼, 나는이 모든 것을 작동 시키려고 노력하고 있지만, 여전히 도움을 줄 수 있도록 노력하고 있습니다.Janrain openid library로 정규화 된 URL을 얻는 방법은 무엇입니까?

답변

0

(얀 레인의 "OpenID Enabled"PHP5 라이브러리, 2.2.2 또는 그 주변을 의미한다고 가정) OpenID.php에 Auth_OpenID::normalizeUrl($url)이 정의되어 있지만 @access private으로 표시되어 있습니다. 승인 트랜잭션을 시작하면 프로세스의 결과로 정규화 된 URL을 얻을 수 있지만 실제로 찾고있는 것은 아닙니다. 비공개 액세스를 무시하고 라이브러리를 해킹하여 공개 할 수 있으며 버전을 업그레이드 할 때 패치를 계속 구현할 수 있습니다. 또는, 자신이하는 일을보고 자신의 기능에 복사하여 라이브러리 해킹 및 관련 버전 제어 문제를 피할 수 있습니다. 같은 URL 각 시간을 얻을 수 있도록해야한다

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

: 당신은 같은 것을 사용하는 경우

0

.

+0

이것은 일관된 URL을 제공하지만, OpenID와 같이 엄격하게 "정규화 된"URL은 아닙니다. 그러나 귀하의 제안은 ID를 계정 레코드와 연관시키는 명시된 목적에 충분할 수 있습니다. – RobertB

관련 문제