keycloak~RequiredActionProvider中获取表单认证前URL的参数

这篇具有很好参考价值的文章主要介绍了keycloak~RequiredActionProvider中获取表单认证前URL的参数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在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参数集合如下图:

keycloak~RequiredActionProvider中获取表单认证前URL的参数文章来源地址https://www.toymoban.com/news/detail-858828.html

到了这里,关于keycloak~RequiredActionProvider中获取表单认证前URL的参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java获取URL地址中传递的参数

    一、 Java获取URL地址中传递的参数 二、获取请求的URL地址 三、获取请求的IP地址 四:判断字符串是否能够转换成指定格式的日期

    2024年02月16日
    浏览(41)
  • 三种获取URL参数值的方法

    在 URL 中,查询参数字符串值通常提供有关请求的信息,例如搜索参数或正在使用的对象的 ID。如果在前端处理任何业务或请求逻辑,了解如何从 URL 中检索查询字符串值非常重要。本文分享三种从 URL 获取参数的方法。 URLSearchParams 除 IE 11 之外的所有主要浏览器版本都支持该

    2024年02月16日
    浏览(38)
  • js获取当前域名、Url、相对路径和参数

    由于获取到的当前域名不包括 http://,所以把获取到的域名赋给 a 标签的 href 时,别忘了加上 http://,否则单击链接时导航会出错。 浏览器地址栏显示的是什么,获取到的 url 就是什么。 首先获取 Url,然后把 Url 通过 // 截成两部分,再从后一部分中截取相对路径。如果截取到

    2024年02月16日
    浏览(52)
  • Nginx 获取自定义请求header头和URL参数

    在 ngx_lua 中访问 Nginx 内置变量 ngx.var.http_HEADER 即可获得请求头HEADER的内容。 在 nginx配置中,通过$http_HEADER 即可获得请求头HEADER的内容。 案例: 在nginx的location配置中,在获取header配置时, 须要在header名称前面加上固定前缀“http_“,并将header名称中的“-”中划线变为下划线

    2024年02月04日
    浏览(36)
  • 小程序Url Link跳转怎么获取query参数?

    我是通过这种方式接收参数的,如果想验证可以通过编译器模拟:

    2024年02月17日
    浏览(37)
  • 微信小程序页面跳转时URL获取不到参数

    原因: 在跳转的url参数中添加了包含特殊字符?的情况下 ,会出现参数丢失的情况 1.最近在小程序开发过程中,发现之前可用的某个功能字段展示为了undefined,后来查看参数发现 页面跳转时参数丢失了 导致的 此时获取到的参数都是正常的,在上线一段时间后,其它同学在 图

    2024年02月11日
    浏览(65)
  • 获取url地址后面参数的2种方法(小程序二维码跳转参数解析)

            微信扫描小程序二维码后,在页面的onLoad函数的参数options内可以拿到跳转参数scene值,但是需要对scene进行decodeURIComponent操作,方法如下: 方法一: 方法二:

    2024年02月17日
    浏览(51)
  • 如何使用 Go 获取 URL 的参数,以及使用时的问题

    Go 获取 URL 参数也很容易,但是由于 Go 有严格的数据类型和错误管理,所以在使用时会些微有些复杂。所以本文不仅会讲如何获取 URL 的参数,也会讲在使用时的一些问题。 首先假设 URL 是 https://www.example.com/?keyword=abcid=12 。 其他语言一般这个时候就是导入包了,但是 Go 的包

    2024年02月13日
    浏览(37)
  • Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)

    目录 1.获取参数 1.1获取单个参数 1.2获取多个参数 传参注意事项: 2.获取对象  3.后端参数重命名@RequestParam 4.获取JSON对象@RequestBody 5.从 URL 地址中获取参数 @PathVariable 6.上传文件 @RequestPart 7.获取Cookie/Session/Header 7.1 获取 Request 和 Response 对象 7.2 获取Cookie (1)Servlet 获取 Cooki

    2024年02月16日
    浏览(42)
  • keycloak~MFA多因子认证

    Keycloak 是一个开源的身份和访问管理解决方案,支持多因素认证(MFA)的配置非常灵活。下面是一些涉及Keycloak MFA相关的配置和步骤: 启用MFA : 登录到Keycloak管理控制台。 找到您的Realm(领域)并进入Realm设置。 在左侧导航栏中选择 \\\"Authentication\\\"(认证)选项卡。 找到 \\\"Mu

    2024年02月16日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包