论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
keycloak~RequiredActionProvider中获取表单认证前URL的 ...
keycloak~RequiredActionProvider中获取表单认证前URL的参数
玛卡巴卡的卡巴卡玛
金牌会员
|
2024-5-18 10:51:54
|
显示全部楼层
|
阅读模式
楼主
主题
906
|
帖子
906
|
积分
2718
在keycloak中,我们在进行brower欣赏器的表单认证时,一般在跳到本页面时,URL上会有redirect_uri这种参数,用来告诉keycloak,在认证成功后的跳转地址,你在表单认证控制器中,可以通过context.getHttpRequest().getUri().getQueryParameters().getFirst("redirect_uri")进行获取,而当你为brower认证流程添加RequiredAction举动之后,你必要在进入RequiredAction时带上这些参数,你是不能直接通过getQueryParameters()方法获取的,因为它之前的页面不是来源页,而是认证表单页,那么keycloak对于这种问题是如何处理的呢?
RequiredActionProvider中的方法
页面渲染
@Override
public void requiredActionChallenge(RequiredActionContext context) {
Response challenge = context.form()
.createForm("login-sms-otp-config.ftl");
context.challenge(challenge);
}
复制代码
表单提交
@Override
public void processAction(RequiredActionContext context) {
context.success();
}
复制代码
添加获取认证表单中URL参数
很显示,获取上一个页面的参数,应该在requiredActionChallenge渲染页面方法中实现
private static String getRedirectUri(RequiredActionContext context) {
AuthenticationSessionModel authSession = context.getAuthenticationSession();
if( authSession.getClientNotes().containsKey("redirect_uri")){
return authSession.getClientNotes().get("redirect_uri");
}
return "https://www.abc.com";
}
复制代码
我们认证页面将来源页的参数临时存储到了authSession.getClientNotes()这个字典中,供认证流程中使用。
getClientNotes()返回的URL参数集合如下图:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
玛卡巴卡的卡巴卡玛
金牌会员
这个人很懒什么都没写!
楼主热帖
SQL SERVER事务提交回滚
Kubernetes(k8s)Deployment、Statefu ...
基于STM32的手势识别检测
【C++】ZZ1864- 解题精讲
ConcurrentHashMap源码,看我这篇就够 ...
如何用技术改变生活
实用五步法教会你指标体系的设计与加工 ...
数据类型的内置方法
共收录 腾讯 的 48 款开源软件,第 1 ...
同事写了一个责任链模式,bug 无数... ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表