0

keycloaksdocker コンテナーとして実行されているログアウト機能を実装しようとしています。

郵便配達員で試してみると、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
""

理想的には、なんらかの応答が得られ、トークンが無効化され、自動的にログアウトされるはずです。

これらの変更を実装するのを手伝ってください

4

0 に答える 0