当前位置: 首页 > 知识库问答 >
问题:

如何注册Keycloak密码哈希服务提供程序SPI

钱星华
2023-03-14
public class MyPasswordHashProvider implements PasswordHashProviderFactory, PasswordHashProvider {
public static final String ID = "XXXX";
Could not find hash provider XXXX for password

我的jar包含一个初始化文件meta-inf/services/org.keycloak.models.passwordHashProviderFactory,其中有一行包含HashProvider实现的完整类名。

my.folder.MyPasswordHashProvider

这是基于联邦SPI doco,但Keycloak密码散列SPI的文档似乎不存在。我错过了什么,或者我需要做什么来注册和使用我的哈希提供程序与KeyCloak?

共有1个答案

逄征
2023-03-14

这是一个复制/粘贴错误-初始化文件的包名“model”而不是“hash”错误,因此与PasswordHashProviderFactory不匹配。

在提供程序jar中,初始化文件需要命名为:

META-INF/services/org.keycloak.credential.hash.PasswordHashProviderFactory

并包含带有实现工厂类全名的一行-在本例中:

my.folder.MyPasswordHashProvider
 类似资料:
  • 每个人在建构 PHP 应用时终究都会加入用户登录的模块。用户的帐号及密码会被储存在数据库中,在登录时用来验证用户。 在存储密码前正确的 哈希密码 是非常重要的。密码的哈希操作是单向不可逆的,该哈希值是一段固定长度的字符串且无法逆向推算出原始密码。这就代表你可以哈希另一串密码,来比较两者是否是同一个密码,但又无需知道原始的密码。如果你不将密码哈希,那么当未授权的第三者进入你的数据库时,所有用户的帐号

  • 我使用以下代码使用PBKDF2对密码进行哈希: 如何验证身份验证的密码?看来我需要拿到用来哈希密码的盐。我怎么拿到?请注意,我没有使用单独的字段来存储哈希。数据库中只存储散列密码。

  • 我正在使用Pact Go实现来尝试合同测试。我做了一个不起作用的提供者测试,因为我需要模拟我的服务对Twilio的请求。 我已经为我的消费者和这个提供者之间的契约创建了一个Pact对象,然后为我的提供者和twilio之间的契约创建了另一个称为twilioPact的对象。我已经为Twilioendpoint添加了一个POST的交互,但是在pact.log中我没有看到它被注册。我的测试正确地发出了请求

  • 问题内容: 我正在尝试为Laravel创建哈希密码。现在有人告诉我使用Laravel哈希帮助器,但我似乎找不到它,或者我的方向错误。 如何创建laravel哈希密码?在哪 编辑:我知道代码是什么,但我不知道在哪里以及如何使用它,因此它给了我哈希密码。如果得到哈希密码,则可以手动将其插入数据库 问题答案: 使用Bcrypt散列密码: 这将创建一个哈希密码。您可以在控制器中甚至在模型中使用它,例如,如

  • 问题内容: 我需要解密密码。密码已使用功能加密。 现在,我们假设它存储在数据库中(有一个“用户”表,其中包含用户名,密码等),我需要登录:我必须查看用户输入的密码是否与存储在其中的加密密码匹配。数据库。 这是SQL代码… …但未加密,因此不等于表用户的密码字段中存储的内容… 所以,有一个使用?后解密的功能。还是应该更改我的加密方法?或者还有什么? 问题答案: Bcrypt是一种单向哈希算法,您无法

  • 服务提供者是 laravel 框架的重要组成部分,承载着各种服务,自定义的应用以及所有 Laravel 的核心服务都是通过服务提供者启动。本文将会介绍服务提供者的源码分析,关于服务提供者的使用,请参考官方文档 :服务提供者。 服务提供者的注册 服务提供者的启动由类 IlluminateFoundationBootstrapRegisterProviders::class 负责,该类用于加载所有服务