2 つのインスタンスがあります。
- キーロック
- wilma-proxyでポイ
インスタンスで poi を作成しようとすると、応答は常に 401 Permission denied になります。しかし、前述のプロキシ ログのようにトークンは正しいです。
2016-10-14 09:40:30.132 - INFO: IDM-Client - Token in cache, checking timestamp...
2016-10-14 09:40:30.135 - INFO: IDM-Client - Token in cache expired
2016-10-14 09:40:30.136 - INFO: IDM-Client - Checking token with IDM...
2016-10-14 09:40:30.342 - INFO: Root - Access-token OK. Redirecting to app...
Refused to set unsafe header "content-length"
2016-10-14 09:40:30.366 - ERROR: HTTP-Client - Error: 401 Permission denied.
だから、問題はauthenticate.htmlファイルだと思います。私が変更した唯一の行は次のとおりです。
<meta name="fiware_lab-signin-client_id"
content="8dc5826cdaea4729a4f43a01d01cb32e">
<meta name="fiware_lab-signin-host" content="http://myserver.com:8000">
fiware_lab-signin-client_id には、keyrock インスタンスで作成されたアプリケーション POI の client_id があります。fiware_lab-signin-host には、Horizon のサーバーとポートがあります。
あれは正しいですか?5000 ポート (keystone) で試してみましたが、結果はありませんでした。
また、add_poi.phpでこれを見つけました:
$session = get_session();
$user_id = $session['user'];
$add_permission = $session['permissions']['add'];
if(!$add_permission) {
header("HTTP/1.0 401 Unauthorized");
die("Permission denied.");
}
これらの行をコメント化すると、SQL が挿入されるまで、すべてのプロセスが正しいように見えます。( $session['user']
null である およびその他のパラメーターが必要です)
これらの行が存在する理由がわかりません。また、関数get_session()
はセッションではなく、ハードコードされた配列を返します (ない場合があります)。
このイネーブラーの使用方法がとても混乱しています。使い方わかる人いますか?