KeyCloak 中的自定义提供程序,可以根据用户名和密码进行身份验证

     2023-02-23     62

关键词:

【中文标题】KeyCloak 中的自定义提供程序,可以根据用户名和密码进行身份验证【英文标题】:Custom provider in KeyCloak which can do the authentication based on username and password 【发布时间】:2019-06-17 01:42:29 【问题描述】:

我有一个 WebApp,它使用 Grant-Type: password 发送用户名和密码,以使用在 keycloak 中配置的内置用户名和密码来获取持有者令牌。

我的要求是:

keycloak 收到 WebApp 的令牌请求后,应该与外部微服务通信并获取微服务返回的值,然后再将令牌发送给 WebApp。

基于微服务价值,

如果值为 true,keycloak 应该向 WebApp 发送不记名令牌

如果值为 false,keycloak 应该将身份验证失败的结果发送给 WebApp。

我想知道是否有任何可用的设置或可以在 keycloak 中添加外部 jar 以与微服务通信并获得结果?

我阅读了 keycloak 中提供的文档并在线进行了一些研究,但到目前为止我无法找到与此相关的任何内容。

https://www.keycloak.org/docs/3.0/server_development/topics/providers.html

【问题讨论】:

【参考方案1】:

您是否查看过身份验证提供程序 SPI 演练? https://www.keycloak.org/docs/latest/server_development/index.html#_auth_spi_walkthrough

它展示了如何实现您自己的身份验证提供程序,将调用拟合到您的微服务应该非常简单。

【讨论】:

使用 Keycloak 中的自定义 Admin REST API 获取用户的 ID 令牌

】使用Keycloak中的自定义AdminRESTAPI获取用户的ID令牌【英文标题】:GetIDtokenofauserusingcustomAdminRESTAPIinKeycloak【发布时间】:2021-01-2007:50:43【问题描述】:在我现在正在开发的系统中,我想使用Keycloak的adminRESTAPI在我的Keycloak服务器... 查看详情

使用用户提供的自定义名称脚本文件中的变量

】使用用户提供的自定义名称脚本文件中的变量【英文标题】:Usevariablesfromacustomnamescriptfileprovidedbyuser【发布时间】:2022-01-2308:34:55【问题描述】:我目前正在用Python构建一个用户友好的程序。目前,用户可以修改在我们可以称... 查看详情

具有用户属性的 Keycloak 自定义用户联合

】具有用户属性的Keycloak自定义用户联合【英文标题】:Keycloakcustomuserfederationwithuserattributes【发布时间】:2022-01-2319:25:46【问题描述】:我已经为Keycloak实现了一个带有AbstractUserAdapter的自定义UserStorageProvider,用于从外部数据库... 查看详情

如何从 keycloak 中的自定义客户端获取角色?

】如何从keycloak中的自定义客户端获取角色?【英文标题】:Howtogetrolesfromcustomclientinkeycloak?【发布时间】:2021-01-0910:46:40【问题描述】:要在自定义客户端中获取角色,我知道我需要执行两个API。一种是获取访问令牌,一种是获... 查看详情

在 Keycloak 服务器中调试用户提供程序 jar

】在Keycloak服务器中调试用户提供程序jar【英文标题】:DebugginguserproviderjarinsideKeycloakserver【发布时间】:2021-09-2311:13:50【问题描述】:我正在使用keycloak对我的应用程序中的用户进行身份验证。用户通过外部mysql用户存储导入Keyc... 查看详情

用户临时锁定的 Keycloak 自定义消息

】用户临时锁定的Keycloak自定义消息【英文标题】:KeycloakCustommessageonusertemporarylock【发布时间】:2019-11-2811:27:07【问题描述】:我正在使用Kyecloak:4.8.0,并为我的领域启用了蛮力攻击。现在,只要用户提供了3次错误的凭据,用户... 查看详情

keycloak梳理(代码片段)

Keycloak[top]Keycloak为Web应用和Restful服务提供了一站式的单点登录解决方案。它的目标就是让应用的安全管理变得简单,让开发人员可以轻松地保护他们的应用程序和服务。并且Keycloak为登录、注册、用户管理提供了可视化管理... 查看详情

keycloak梳理(代码片段)

Keycloak[top]Keycloak为Web应用和Restful服务提供了一站式的单点登录解决方案。它的目标就是让应用的安全管理变得简单,让开发人员可以轻松地保护他们的应用程序和服务。并且Keycloak为登录、注册、用户管理提供了可视化管理... 查看详情

Keycloak:在社交身份提供者登录时传递自定义用户属性

】Keycloak:在社交身份提供者登录时传递自定义用户属性【英文标题】:Keycloak:PasscustomuserattributesonSocialIdentityProviderLogin【发布时间】:2021-08-1116:21:40【问题描述】:在注册时,Keycloak提供了通过Keycloak主题的注册页面模板添加cust... 查看详情

Keycloak 自定义用户联合和身份提供者工作顺序

】Keycloak自定义用户联合和身份提供者工作顺序【英文标题】:KeycloakCustomUserFederationandIdentityProviderWorkingOrder【发布时间】:2018-09-0914:40:17【问题描述】:我在Keycloak上有两种自定义身份验证方法。其中之一是自定义实施的用户联... 查看详情

Keycloak 自定义表单提供程序:表单的操作 url 错误

】Keycloak自定义表单提供程序:表单的操作url错误【英文标题】:KeycloakCustomFormProvider:Formhaswrongactionurl【发布时间】:2020-03-1710:18:40【问题描述】:我在RestCredentialFlow中添加了一个自定义表单,我可以配置新的流程执行并看到新... 查看详情

从 Keycloak 中的 REST API 中提取角色

】从Keycloak中的RESTAPI中提取角色【英文标题】:ExtractrolesfromRESTAPIinKeycloak【发布时间】:2019-08-0815:12:06【问题描述】:在我的公司,我们需要从Keycloak提供的RESTAPI中提取登录用户的角色。我们查看了Keycloak文档,但找不到我们正... 查看详情

覆盖 keycloak.x 中的默认身份验证器提供程序

】覆盖keycloak.x中的默认身份验证器提供程序【英文标题】:overridedefaultauthenticatorproviderinkeycloak.x【发布时间】:2022-01-0817:09:14【问题描述】:我需要更改默认kerberos身份验证器的行为(因为此处声明的问题:KEYCLOAK-19865)。我想... 查看详情

EXCEL 的自定义 VBA 函数中的用户定义警告

】EXCEL的自定义VBA函数中的用户定义警告【英文标题】:UserdefinedwarningincustomVBAFunctionforEXCEL【发布时间】:2018-10-0912:27:29【问题描述】:我在Excel工作簿中定义了一个函数,该函数以温度和压力作为输入来计算物理属性。它在专... 查看详情

如何根据请求的范围自定义 KeyCloak 身份验证流程

】如何根据请求的范围自定义KeyCloak身份验证流程【英文标题】:HowtocustomizeKeyCloakauthflowsbasedonrequestedscope【发布时间】:2021-05-2422:24:32【问题描述】:我正在尝试配置KeyCloak浏览器流程,以允许请求scope1的用户使用用户/密码表单... 查看详情

Symfony2 - 安装了 FOS 用户包的自定义身份验证提供程序

】Symfony2-安装了FOS用户包的自定义身份验证提供程序【英文标题】:Symfony2-customauthenticationproviderwithFOSUserBundleinstalled【发布时间】:2015-11-0604:30:46【问题描述】:我在Symfony2项目中构建自定义身份验证方面需要帮助。我已经阅读... 查看详情

Keycloak 提供者和用户存储

】Keycloak提供者和用户存储【英文标题】:Keycloakprovideranduserstorage【发布时间】:2016-08-3110:02:17【问题描述】:我有一个正在运行的javaee应用程序,现在我想将keycloak集成为身份验证服务器。我唯一遇到的麻烦是用户存储。我想... 查看详情

部署keycloak自定义spi部署

】部署keycloak自定义spi部署【英文标题】:Deploykeycloakcustomspideployment【发布时间】:2020-01-0817:36:31【问题描述】:我尝试创建一个自定义spi,在我的keycloak项目中,遵循基本的keycloack结构,我添加自定义提供程序接口,扩展提供... 查看详情