首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果密钥罩会话过期,如何重定向到登录页面?

如果密钥罩会话过期,如何重定向到登录页面?
EN

Stack Overflow用户
提问于 2021-03-09 15:38:33
回答 1查看 903关注 0票数 0

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

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

如果网站上没有任何操作超过会话空闲时间,我想自动转到登录页面或通知已注销的用户(当会话到期时,按F5将自动调出登录页面)。

Keycloak版本: 12.0.0 keycloak-nodejs-connect版本: 12.0.4

我只是参考下面的源代码写的代码。

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

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

感谢您的评论。

下面是代码。

新变量memoryStore = app.js session.MemoryStore();

app.use(session({ secret:'mySecret',resave: false,saveUninitialized: true,store: memoryStore }));

var keycloak =新的密钥罩({ store: memoryStore });

注销(app.use({keycloak.middleware:'/logout',admin:'/‘}));

Index.js(路由器) var密钥罩=需要(‘密钥罩-连接’);

var memoryStore =新存储();var session.MemoryStore=新密钥罩({ store: memoryStore });

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-11 00:01:12

如果你使用的是keycloak-connect,你不必担心用户的重定向,因为这就是你使用库的原因,它会帮你做到这一点。

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

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

代码语言:javascript
复制
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上没有有效的用户会话,它将重定向到登录页面,否则它将已经知道您是谁并打印您的名字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66542654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档