문제

저는 OpenId 및 yadis 검색을 위해 janRain Php 라이브러리를 사용하고 있으며, 무엇을 하든 user.openid.org 또는 자체 공급자와 같은 작업을 수행하지만 Google 엔드포인트를 사용하려고 하면 검색 정보를 얻을 수 없습니다.

janrain 라이브러리에 대한 검색 예제를 실행해도 다음 결과가 표시됩니다.

Identifier  http://www.google.com/accounts/o8/id
No OpenID services discovered.

URL 앞에 https://를 추가해도 마찬가지입니다.

내 질문은 아마도 그것을 작동시키는 방법이 아닐 것입니다. 그러나 실제로 가능하다면 다른 선택 사항이 무엇입니까(내 사이트에서 실행되고 프로젝트에서 까다로운 인증이 필요하지 않음).

openId가 ​​왜 그렇게 #@!#@ 복잡하고 문서화되지 않았나요?(참고: 동일한 결과를 얻기 위해 zend_openid에게 몇 시간을 주었습니다.)

도움이 되었습니까?

해결책

여기서 일하고 있어요.몇 가지 힌트:

  • 내가 이해하는 바에 따르면, http(s)://www.google.com/accounts/o8/id openid 엔드포인트는 아니지만 Google 발견 끝점.다음과 같이 유효한 (google) OpenID 식별자를 제공해야 합니다. example.blogspot.com, 청구된 식별자, 서버 URL, 서비스 유형 등을 반환합니다.
  • 발견 예제는 문제를 해결한 후에만 작동했습니다. <? 그리고 <?= ~에 discover.php (그들을 다음으로 대체 <?php 그리고 <?php echo).또는 다음을 수행할 수 있습니다. ini_set('short_open_tag', '1').기본적으로 꺼져 있습니다 php.ini-recommended.
  • 귀하의 PHP 설치가 SSL을 지원합니까?보다 읽어보기, 특히 이 부분은 다음과 같습니다.
Not all PHP installations support SSL.  You can find out if yours
supports SSL by reading the "HTTP Fetching" section of the output of
"examples/detect.php."  If your installation does not support SSL,
then https:// identity URLs and server URLs will not be supported by
the library.  An attempt to use such an identity URL will be
equivalent to using an invalid OpenID.  To enable SSL support,
recompile PHP with OpenSSL support or install the appropriate OpenSSL
module for your platform.  If you are using CURL, CURL will need to be
built with OpenSSL support.

다른 팁

합법적인 쇠고기입니다.Google은 OpenID를 지원한다고 말하지만 다른 사람처럼 작동하지 않습니다.MyOpenID.com, blogspot, aol, yahoo, wordpress, myspace, livejournal 및 기타 여러 곳이 모두 표준을 올바르게 지원하며 예상대로 작동합니다.자신의 OpenID 공급자와 마찬가지로 CommunityID 서버 프로젝트를 사용하여 구축할 수 있습니다.

/한숨을 쉬다

직접 신원 요청을 해야 합니다.일반적으로 이는 사용자가 URL을 입력한 것처럼 URL을 전달하는 것과 관련됩니다.그것은 과거에 항상 저에게 효과적이었습니다(사용하는 라이브러리가 OpenID2.0을 지원하는 한).

이 질문을 살펴 보시기 바랍니다. Janrain의 PHP-OpenID 및 Google/Yahoo

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