OpenID備忘録(CORESERVER.JP)

この記事は最終更新日から 約15年が経過しているので情報が古い可能性があります。

OpenID本来の目的とは違うのですが、これをMacFeeling Softwareのダウンロードに利用できないかと試してみたので、忘れないうちに備忘録として書き留めておきます。

まず、Welcome to OpenID Enabled!のページから、「PHP OpenID Library 2.1.3」をダウンロードして解凍。

使うのは、「Auth」と「examples」フォルダ
2つのフォルダをサーバの任意の場所にアップ

私の利用しているXREA.COMCORESERVER.JPでは、Opera-ismがOpenIDに対応。 – あまたの何かしら。のページに書かれているように、事前にフォルダを作成しておかなくてはならないので、

ドメイン取るなら、MacFeeling.comもお世話になっているドメイン登録代行のVALUE DOMAIN:バリュードメイン

FTPクライアントソフトを使って、事前に「tmp」フォルダを任意の場所に作成(ここではexampleフォルダ内に作ったものとします)
その中に、さらに「associations」「nonces」「temp」 の3つのフォルダを作成。(パーミッションは707等の書き込み可に)

作成したら、example/consumer/common.phpをエディタで開き、
function &getStore()内の、

$store_path = "/tmp/_php_consumer_test";

を「tmp」フォルダを作成した位置に変更します。
例では、exampleフォルダ内に作ったので、common.phpと同じ階層にあります。
なので、

$store_path = "tmp";

に変更。
<?phpの直ぐ下に

define('Auth_OpenID_RAND_SOURCE', NULL);

を追加

さらに、私の利用しているCORESERVER ではAuth/Yadis/XML.phpに問題があるようなので、Geez in the universe: XREA / CORESERVER で OpenID を使うと Yahoo や livedoor が使えない問題で公開されているファイルに置き換えました。(なにも考えずに置き換えましたが、現在の環境なら必要ないのかもしれません。確かめていませんが…)

編集したファイル(example/consumer/common.php、Auth/Yadis/XML.php)をサーバにアップして、ブラウザでexample/consumer/にアクセス。mixi.jpと入力してVerifyボタンをクリックしたもののエラー

ググってみると、証明書をダウンロードすればいいらしいとのことで、

まず、mixi.jpからmixi.jp.crtをダウンロードしたけど結果はなぜかダメだった。

mixi OpenIDのサンプルコードをPHP OpenID Libraryを使って動かしてみた(訂正) – 大阪 本町で働くソーシャルアプリ開発者 ダイアリー

さらにググって、PHP OpenID 認証 実行サンプルのページ経由、cURL – Extract CA Certs from Mozillaのページから、cacert.pem ファイルをダウンロード

サーバの任意の場所に、cacert.pemをアップ

Auth/Yadis/ParanoidHTTPFetche.phpファイルをエディタで開いたら、131行目と195行目にある

curl_exec($c);

の前(2カ所)に

if ($this->isHTTPS($url)) {
curl_setopt($c, CURLOPT_CAINFO, '/ファイルをアップした場所までの、お使いのサーバのファイルパス/cacert.pem');
}

を追加して、サーバにアップ。
ブラウザでexample/consumer/にアクセス。mixiの場合は「https://mixi.jp」Yahoo! JAPANの場合は「https://me.yahoo.co.jp」と入力してVerifyボタンをクリックしたら成功しました。 :clap_tb:

あとは、example/consumer/index.php ファイルを自分の使いたいように編集すればOK。

コメント

  1. iconx2 より:

    CORESERVER を使い始めてまだ数ヶ月の初心者です。
    こちらの情報のおかげで、Open ID のテストに成功しました。心から感謝します!

    私のサイトにも、ぜひ導入できるように頑張ってみます。
    ありがとうございました。
    :wink_wp:

タイトルとURLをコピーしました