微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果 keycloak 会话过期,如何重定向到登录页面?

如何解决如果 keycloak 会话过期,如何重定向到登录页面?

我正在尝试在我的 node.js 应用程序上实现 keycloak。

我在 node.js 应用上使用 keycloak-nodejs-connect。

如果网站上没有操作超过 session空闲时间,我想自动跳转登录页面或者通知退出用户(session过期按F5会自动调出登录页面

密钥斗篷版本:12.0.0 keycloak-nodejs-connect 版本:12.0.4

我只是使用我参考下面的源代码编写的代码

https://github.com/keycloak/keycloak-nodejs-connect/blob/master/example/index.js

如何将客户端页面重定向登录页面或注销页面

感谢您的评论

这是代码

app.js var memoryStore = new session.MemoryStore();

app.use(会话({ 秘密:'我的秘密', 重新保存:假, 保存未初始化:真, 存储:内存存储 }));

var keycloak = new Keycloak({ 存储:内存存储 });

app.use(keycloak.middleware({ 登出: '/登出',行政:'/' }));

index.js(路由器) var Keycloak = require('keycloak-connect');

var memoryStore = new session.MemoryStore(); var keycloak = new Keycloak({ 存储:内存存储 });

解决方法

如果您使用 keycloak-connect,您不必担心用户重定向,因为这就是您使用库的原因,它会为您完成。

关于链接:如果您正在运行示例,URL http://localhost:3000/logout 将重定向到 keycloak 服务器并删除那里的会话。之后,它将重定向回您的应用程序,在本例中为 http://localhost:3000

express 应用的任何需要认证和/或授权的资源,例如

app.get('/hello',keycloak.protect(),function (req,res) {
  res.json({message: `Hello ${req.kauth.grant.id_token.content.preferred_username}`});
});

将自动重定向到 keycloak 服务器并显示登录表单或处理单点登录,无论域的配置如何。 所以没有登录页面的链接,但是如果 http://localhost:3000/hello 没有有效的用户会话,它会重定向到它,否则它已经知道你是谁,并会打印你的名字。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。