0

我正在尝试实现keycloaks作为 docker 容器运行的注销功能。

当与邮递员一起尝试时,我得到了 204 响应,即使在那之后我也能够访问网页而无需再次登录(因此注销没有正确发生)。

我提供了不记名令牌、客户端 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