このページで説明されているように、Vanillaフォーラムとの統合にシングルサインオンを実装しようとしています。私はTankauthでCodeigniterを使用していますが、この方法はどのフレームワークにも固有ではないことを理解しています。
私のサイトと私が持っているVanillaフォーラムのコピーは両方ともローカルでホストされているため、これらは同じドメイン(localhost)を共有します。これは、この方法の要件です。ProxyConnectの「AuthenticateUrl」に必要な情報を出力するPHPコードをいくつか作成しました。
$id = $this->tank_auth->get_user_id();
if($id===false) return;
$user = $this->tank_auth->user();
header('Content-type: text/plain');
echo "UniqueID=$id";
echo "\nName=" . $user->username;
echo "\nEmail=" . $user->email;
自分のサイトにサインインしている場合、次のように出力されます。
UniqueID=1
Name=hassan
Email=something@somewhere.com
これは私には良さそうです。Vanillaにこれを使用してユーザーを認証させようとすると、機能しません。それは私に非常に一般的なエラーメッセージを与えます:
Bonk
Something funky happened. Please bear with us while we iron out the kinks.
あまり説明的ではありません。エラーログを確認すると、次のエントリが表示されます。
File does not exist: /Library/WebServer/Documents/applications,
referer: http://localhost/vanilla/index.php?p=/settings/proxyconnect/test
これはProxyConnectのバグですか、それとも上記の出力の形式が正しくありませんか?