とあるサービスでOpenIDでのログインを実装したのですがある日突然「データがありません」というエラーが・・・
エラーメッセージ不親切すぎるヨ(;´д⊂)
起きた原因
~~~
header( “X-XRDS-Location: http://hoge.com/yadis.xrds” ) ;
~~~
これを書いたから(;´д⊂)
どうやら1回これを書いてyadis.xrdsの存在を教えちゃうと、この一文を消したとしても見に来ちゃう模様・・・
そうなったらyadis.xrdsを正しく直して満足していただくしかないです
正しい?yadis.xrds
~~~
~~~
参考url:XRDSを設置して自分のドメインをOpenID(2.0対応)として使う | Xlune::Blog
ポイントはURIをいっぱい書くこと!w
yahoo,mixi,nttid,googleのopenidに対応したいとなるとどのURIを正しいと認識してくれるのやら、もはやよくわからんのです。。。
なのでそれっぽいものを書いておけば順番に見て行ってくれるので成功確率が上がります
また、nttidはreturn_toがhttpsじゃなきゃ駄目よって書いてますが、mixiやyahooはそうでもない模様
googleさんにいたってはXRDS自体を見にこないっぽいです
yadisをxmlとしてダウンロードできるようにする
apacheもしくは.htaccessに以下の1文を追記する
~~~
AddType application/xrds+xml xrds
~~~
しばしまつ
mixiは1時間ほど結果をキャッシュするらしく、1回ミスるとなかなかエラーが直りません
のんびり待ちましょう
yahooさんは常に見に来てくれるみたいでエラーがすぐに直りました
OpenIDすごく便利なんですが、問い合わせをしても問合せ先も全然把握していないようでログとかも見てくれないですし原因追求は自分でするしかないのがつらいところです。。
コメント