2009-03-14 7 views
0

OpenIdとyadisの検出にjanRain PHPライブラリを使用していて、私が何をしていても、私はuser.openid.orgや自分のプロバイダのようなもので動作しますが、 Googleのエンドポイント、私はすべての発見情報を取得することはできません。私は、受け付けを開始ライブラリの発見例を実行している場合でもJaneline phpライブラリとOpenIdのgoogleエンドポイント

は、私は

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

主張次の結果を取得し、私がhttpsを追加する場合、それは同じ起こる:// URLの前に。

私の質問はおそらくそれを動作させる方法ではありませんが、実際には可能な場合、他の選択肢があります(私のサイトで実行されます。

なぜOpenIDのはとても#@!#@複雑で文書化されていないのですか?それはここで働いています

+0

どのバージョンのJanRain PHPライブラリを使用していますか? – singpolyma

答えて

3

を(ノート、私は同じ結果を持っている時間のzend_openidカップルを与えました)。いくつかのヒント:

  • 私はそれを理解するよう、http(s)://www.google.com/accounts/o8/idはOpenIDのエンドポイントではありませんが、発見エンドポイントをグーグル。あなたはそのため、それは私だけ(discover.php<?<?=を固定した後、作業の発見例を得たなど
  • 識別子、サーバーのURL、サービスの種類を、主張返し、example.blogspot.comのように、それを有効(グーグル)OpenIDの識別子を供給する必要がそれらを<?php<?php echoに置き換えてください)。代わりにini_set('short_open_tag', '1')とすることもできます。デフォルトではphp.ini-recommendedになっています。
  • PHPインストールでSSLがサポートされていますか? README、特にこの部分を参照してください。
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.
0

あなたが向けアイデンティティリクエストを行う必要があります。通常は、ユーザーが入力したかのようにURLを渡すだけです。これは過去に私にとってはいつもうまくいっています(使用するライブラリがOpenID2.0をサポートしている限り)。

1

は、これは正当な牛肉です。 Googleは彼らがOpenIDをサポートしていると言いますが、彼らは誰とも同じように動作しません。 MyOpenID.com、blogspot、aol、yahoo、wordpress、myspace、livejournalなど多くの言語がすべて標準を正しくサポートしており、期待どおりに動作します。独自のOpenIDプロバイダと同様に、CommunityIDサーバプロジェクトを使用して構築できます。

/sigh

+0

"他の人のようには動作しません"!= "標準に準拠していません";標準は解釈のためのかなりの余裕があります。 –