首页 > 其他分享 >keycloak~对框架中提供的Provider总结

keycloak~对框架中提供的Provider总结

时间:2024-04-10 17:49:00浏览次数:12  
标签:Keycloak Realm 框架 自定义 用户 RealmResourceProvider Provider 认证 keycloak

提供者目录

  • Provider
  • Authenticator
    • BaseDirectGrantAuthenticator
    • AbstractFormAuthenticator
      • AbstractUsernameFormAuthenticator
  • RequiredActionProvider
  • FormAction
  • ProtocolMapper
    • AbstractOIDCProtocolMapper
  • RealmResourceProvider

具体provider的作用

  1. Provider(提供者)

    • 作用:表示Keycloak中的各种扩展点,用于自定义和扩展Keycloak的功能。
    • 使用方法:开发者可以创建自定义的Provider,以实现对Keycloak的功能进行扩展,比如添加新的认证方式、存储方式等。
  2. Authenticator(认证器)

    • 作用:用于处理用户认证的组件,可以自定义不同类型的认证流程。
    • 使用方法:开发者可以基于BaseDirectGrantAuthenticator、AbstractFormAuthenticator等提供的基类,编写自定义的认证器,实现特定的认证逻辑。
    • BaseDirectGrantAuthenticator:用于直接授予访问令牌的认证器。
    • AbstractFormAuthenticator:用于处理表单认证的认证器基类。
      • AbstractUsernameFormAuthenticator:处理用户名密码表单认证的认证器基类。

在brower,directgrant等认证流程中,添加自定义的Authenticator

  1. RequiredActionProvider(必需操作提供者)
    • 作用:定义了用户在登录后需要执行的操作,比如修改密码、接受条款等。
    • 使用方法:开发者可以创建自定义的RequiredActionProvider,以实现对用户的必需操作进行管理和触发。

对于某些用户添加某些标识,有这个标识的用户,会进行这个RequiredActionProvider的执行,例如:临时密码(第一次登录需要修改密码)

  1. FormAction(表单操作)
    • 作用:用于处理用户在登录过程中需要填写的表单信息,比如验证码、安全问题等。
    • 使用方法:开发者可以编写自定义的FormAction,以实现对用户登录过程中表单信息的处理和验证。

在用户注册页面,可以添加FormAction,在注册过程中添加自己的业务逻辑

  1. ProtocolMapper(协议映射器)
    • 作用:用于将Keycloak中的属性映射到OAuth或OpenID Connect(OIDC)协议中。

    • 使用方法:开发者可以基于AbstractOIDCProtocolMapper提供的基类,编写自定义的协议映射器,实现将用户属性映射到OAuth或OIDC协议中。

    • AbstractOIDCProtocolMapper:用于实现将用户属性映射到OIDC协议中的协议映射器基类。

这块主要用在自定义jwt token,当用户认证成功后,在构建token时,配置keycloak中的客户端模板中的Mappers来添加自己的个性信息在token中

  1. RealmResourceProvider(http普通接口与响应):
  • 作用:RealmResourceProvider是Keycloak中的一个接口,用于管理特定Realm下的资源(如Clients、Users等)。通过实现RealmResourceProvider接口,可以对Realm内的资源进行增删改查等操作,实现对Realm级别资源的管理。
  • 使用方法
    • 创建自定义RealmResourceProvider实现类:首先,需要创建一个自定义的RealmResourceProvider实现类,该类需要实现RealmResourceProvider接口,并实现其中定义的方法,包括对Realm资源的增删改查等操作。
    • 注册自定义RealmResourceProvider:将自定义的RealmResourceProvider实现类注册到Keycloak中,以便Keycloak能够识别并使用该Provider来管理特定Realm下的资源。
    • 使用RealmResourceProvider:在需要对特定Realm下的资源进行管理时,通过调用RealmResourceProvider提供的方法来执行相应的操作,比如创建新的Client、添加用户等。
    • 处理Realm级别操作:利用RealmResourceProvider可以处理一些Realm级别的操作,例如管理Realm下的所有Clients、Roles等资源,实现更灵活和个性化的Realm管理功能。

浏览器认证流程扩展

标签:Keycloak,Realm,框架,自定义,用户,RealmResourceProvider,Provider,认证,keycloak
From: https://www.cnblogs.com/lori/p/18126512

相关文章

  • 基于Golang的Nano游戏服务器框架
    在游戏开发过程中,一个高效的服务器框架是至关重要的。Nano正是这样一个框架,它以Golang为基础,提供了轻量级、高性能的服务器解决方案。下面,我们将深入探讨Nano的设计理念、核心特性以及如何在实战中使用它。Nano框架概述Nano是一个针对游戏服务器的框架,能够帮助开发者快速......
  • GitHub问题解决新突破,复旦大学MAGIS框架大幅超越GPT-4
    获取本文论文,请关注公众号【AI论文解读】回复: 论文解读引言:GitHub问题解决的挑战与LLMs的潜力在软件开发的演进过程中,解决GitHub仓库中出现的问题是一个复杂的挑战。这不仅涉及到新代码的加入,还要维护现有功能的稳定运行。大型语言模型(LLMs)在代码生成和理解方......
  • 前端流程引擎有哪些框架推荐
    前端流程引擎通常是指用于设计、建模、执行和可视化业务流程、工作流或流程图的软件组件,它们通常包含图形化的设计器、流程模型解析与执行引擎、以及与用户交互的可视化界面。以下是一些推荐的前端流程引擎框架:bpmn-js:开源项目,基于BPMN2.0标准,提供流程图的绘制、解析......
  • 【大模型应用开发-FastAPI框架】(五)FastAPI 如何通过Poetry运行FastAPI应用程序
    一、概述FastAPI是一个现代、快速(高性能)的Web框架,用于构建API。Poetry是一个Python的依赖管理和打包工具,可以帮助我们更有效地管理项目的依赖和环境。在本文中,我们将介绍如何使用Poetry来运行FastAPI应用程序。二、安装FastAPI和Poetry在开始之前,我们需要先安装FastAPI和P......
  • Metasploit Pro 4.22.3-2024040301 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.3-2024040301(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,ReleaseApr03,2024请访问原文链接:MetasploitPro4.22.3-2024040301(Linux,Windows)-专业渗透测试框架,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org无......
  • JavaWeb开发:表单、框架、层
    JavaWeb开发:表格、框架和层表格表格的创建与表相关的标记表格的标题、标头表的对齐方式合并单元格跨行跨列单元间隔和单元填充框架frame元素rows元素frame的元素内嵌框架(iframe)层层简介创建层表单的设计什么是表单form表单的三个要点表单输入元素<input>属性“inpu......
  • Hibernate框架的搭建
    Hibernate框架的搭建分层体系结构与持久化三层体系结构分层体系结构        指的是将系统的组件分隔到不同的层中,每一层中的组件应保持内聚性;每一层都应与它下面的各层保持松散耦合。         层与层之间存在自上而下的依赖关系,即上层组件会访问下层组......
  • 肖sir__接口测试之python+rquest+unittest分层自动化框架
    接口测试之接口po框架一、新建一个项目  接口自动化框架设计实战:第一包:config  案例:#登录接口dl_url='http://cms.duoceshi.cn/cms/manage/loginJump.do'dl_d={'userAccount':'admin','loginPwd':'123456'}dl_h="Content-Type:applic......
  • OneFlow深度学习框架介绍
    OneFlow深度学习框架介绍OneFlow是一个高性能、易用的深度学习框架,由中国初创公司OneFlow开发。它旨在提供一个统一的深度学习平台,支持各种不同的硬件和部署环境。OneFlow的主要特点高性能:OneFlow采用了独特的设计,可以充分利用现代硬件的计算能力,实现高效的并行计......
  • 肖sir__接口测试之unittest框架(14.1)
    接口测试之unittest框架importunittestimportrequestsfromtimeimport*fromjk.HTMLTestRunner3_NewimportHTMLTestRunnerclassCms(unittest.TestCase):@classmethoddefsetUpClass(cls)->None:#类的开始cls.s=requests.Session()@classmethod......