我正在尝试实现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
""
理想情况下,我认为我们应该得到一些响应,并且令牌应该失效并自动注销。
请帮助我实施这些更改