문제

OpenID 제공 업체로부터 이메일 주소를 요청하는 가장 간단한 방법은 무엇입니까?

이 문제를 단순화하는 좋은 PHP 라이브러리가 있습니까?

제공 업체가 물건을 다르게 구현한다는 것을 알고 있습니다. 간단한 등록 및 속성 교환을 모두 수행해야한다고 들었습니다. 특히 Myopenid 및 Google과 같은 가장 큰 공급 업체와 함께 일했는지 확인하고 싶습니다.

관련이 있지만 부적절한 질문 :

도움이 되었습니까?

해결책

Janrain에는 a ID PHP 라이브러리를 엽니 다, 회사 중심에서 OpenID까지 최초의 도서관 중 하나입니다. Janrain의 사이트 인 Myopenid와의 작업을 언급했습니다.

즉, 개인적으로 저는 Zend Framework를 사용하여 일반적으로 개발하기 때문에 Zend Library (몇 년 전 Janrain Library와 함께 연주했습니다)를 사용합니다.

제공자가 OpenID 간단한 등록 연장.

이것 Zend 참조 섹션 가이드는 인증 요청으로 사용자 정보를 요청하는 방법을 보여줍니다. 다음은 귀하의 요구에 맞는 예제 코드입니다.

//require e-mail, get nickname and fullname if available
$sreg = new Zend_OpenId_Extension_Sreg(array(
    'nickname'=>false,
    'email'=>true,
    'fullname'=>false), null, 1.1);
$consumer = new Zend_OpenId_Consumer();
if (!$consumer->login($openid, $returnUrl, null, $sreg)) {
    die("OpenID login failed.");
}

Janrain 라이브러리와 동일하게 달성하는 것은 비슷합니다. 여기 라이브러리 패키지의 try_auth.php 파일에서 가져온 코드가 있습니다 (원하는 기본 기능을 표시하기 위해 편집했습니다).

$auth_request = $consumer->begin($openid);
$sreg_request = Auth_OpenID_SRegRequest::build(
                                 // Required
                                 array('email'),
                                 // Optional
                                 array('fullname', 'nickname'));
$auth_request->addExtension($sreg_request);

을 위한 속성 교환 Janrain을 확인하십시오 Auth_openid_ax 클래스, Zend 라이브러리에는 a가 있습니다 도끼 지원에 대한 기능 요청.

다른 팁

나는 볼 것이다 Zend Framework의 OpenID 라이브러리, Zend_openid. 전체 프레임 워크없이 사용할 수 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top