「OpenID が正しくありません OpenID が正しくありません」というエラー
OpenID(PHP OpenID libraryを使用)でYahoo | 教えて!goo
http://m.oshiete1.goo.ne.jp/qa/q6646345.html
おそらくこの質問なのですが、リンク先はないようです。
http://speit.blog78.fc2.com/blog-entry-39.html こちらの内容で、
http://weblog.officesoya.net/2011/04/21/openid_windows_linux/ こちらの修正は全て行っています。
google,yahooなど、どのサイトを選んでも
「OpenID が正しくありません OpenID が正しくありません」という通りの出力で
htmlソースを見ると、login_view_message.phpの内容が2回出力されています。
どこに問題があるのでしょうか?
ところで、最初にindex.php → login_view.php の時に、
Notice: Undefined index: id in login_view.php on line 15
と表示されるのですが、これは表示されている状態が正常なのでしょうか?
opensslはenableになっています。
configureに--with-opensslは入っています。
しかし、
http://d.hatena.ne.jp/botchy/20080220
では、
「Authentication error; not a valid OpenID.」
となります。
>他は変更していません。
質問のソースだと
<A href="login.php?id=https%3A%2F%2Fme.yahoo.co.jp">Yahoo でログイン</A>
になってますけど
ここをちゃんとしたOpenIDに変更してますか?
という出力です
URLじゃなくて下のようにOpenIDを指定してますか?
<A href="login.php?id=https%3A%2F%2Fme.yahoo.co.jp%2Fa%2F(あなたのOpenID)">Yahoo でログイン</A>
_php_consumer_dir/nonces
_php_consumer_dir/temp
_php_consumer_dir/associations
以下には何というファイルが生成されるのでしょうか?
ファイル名を知りたいのですが、
こちらの環境では、ファイルが作られていないようなのですが
$auth_request = $consumer->begin($openid);
この、$auth_request が空であるようなので、
それで「OpenID が正しくありません」
の出力です
これは、linuxで実行しています。
PHP 5.2.4
Apache/2.2.6
OpenSSL 0.9.8b
関係ないかもしれませんが
> curl mixi.jp
と実行すると、
(おそらく正しい)mixiの認証ページが返ってきます
http://newbreed-web.net/linux/39/
こいつのせいで、動作確認できませんでした。
なので的確なことは言えないのですが、とりあえずlibxmlのバージョンは確認してみるといいかもです。
とりあえず自分なら、Auth/OpenID/Consumer.phpとかの中までログとか仕掛けてどこでこけてるか特定すると思います。
何かの参考になれば。
私も「OpenID が正しくありません」で引っかかったのでその解決を追記しときます。
openid_sample/readme.txt を読んでその通りにしたか。
それと決め手は cacert.pem を入れたか否かだけでした。
http://curl.haxx.se/docs/caextract.html からはサイトが開けなくて取れなかった。
なので
http://jaist.dl.sourceforge.net/project/prestashop-mpay/prestashop/modules/api/
から取得した cacert.pem で「OpenID が正しくありません」が消えてくれました。