keycloaks
docker コンテナーとして実行されているログアウト機能を実装しようとしています。
郵便配達員で試してみると、204 応答が返されましたが、その後も再度ログインしなくても Web ページにアクセスできます (したがって、ログアウトが正しく行われませんでした)。
ベアラー トークン、クライアント ID、クライアント シークレット、およびリフレッシュ トークンを提供しました。
以下の Postman のスクリーンショットをご覧ください。
同様に、axios を使用して nodejs にこれらの変更を実装しようとしましたが、うまくいきません。
var axios = require('axios');
var qs = require('qs');
var data = qs.stringify({
'client_id': 'VideoKYC',
'client_secret': 'my-clinet-secret',
'refresh_token': 'refresh token from cookies'
});
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0
var config = {
method: 'post',
url: 'https://3.109.1.86:8443/auth/realms/VideoKYC-Realm/protocol/openid-connect/logout',
headers: {
'Authorization': 'Bearer my-token',
'Content-Type': 'application/x-www-form-urlencoded'
},
data: data
};
axios(config)
.then(function (response) {
console.log("data is");
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
応答が空の場所からのスタック トレース:
$ node logout.js
(node:16732) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
data is
""
理想的には、なんらかの応答が得られ、トークンが無効化され、自動的にログアウトされるはずです。
これらの変更を実装するのを手伝ってください