首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法访问密钥披风身份验证SPI中的AuthenticationManager

无法访问密钥披风身份验证SPI中的AuthenticationManager
EN

Stack Overflow用户
提问于 2018-02-16 07:05:34
回答 2查看 1.5K关注 0票数 0

我正在为Keycloak编写一个自定义身份验证SPI。要对cookie进行身份验证,我希望使用密钥披风服务的AuthenticationManager。我在项目中添加了keycloak服务作为maven依赖项。它不会给出任何编译错误,但是在Keycloak上部署SPI之后,它会将我抛到异常下面。

这里是一个例外:

服务器错误: org/keycloak/services/managers/AuthenticationManager at org.keycloak.examples.authenticator.SecretQuestionAuthenticator.authenticate(SecretQuestionAuthenticator.java:102) at org.keycloak.authentication.DefaultAuthenticationFlow.processFlow(DefaultAuthenticationFlow.java:200) at org.keycloak.authentication.AuthenticationProcessor.authenticateOnly(AuthenticationProcessor.java:853) at org.keycloak.authentication.AuthenticationProcessor.authenticate(AuthenticationProcessor.java:722) atorg.keycloak.protocol.AuthorizationEndpointBase.handleBrowserAuthenticationRequest(AuthorizationEndpointBase.java:145) at org.keycloak.protocol.oidc.endpoints.AuthorizationEndpoint.buildAuthorizationCodeAuthorizationResponse(AuthorizationEndpoint.java:395) at org.keycloak.protocol.oidc.endpoints.AuthorizationEndpoint.build(AuthorizationEndpoint.java:139)

Maven依赖项

代码语言:javascript
复制
<dependencies>
<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-core</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-server-spi</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-server-spi-private</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-services</artifactId>
    <scope>provided</scope>
</dependency>
</dependencies>
EN

回答 2

Stack Overflow用户

发布于 2018-03-12 06:14:19

事实证明,我部署代码的方式导致了这个问题。我在Keycloak上部署代码时使用

代码语言:javascript
复制
mvn clean install wildfly:deploy

当我们使用上面的命令部署代码时,它无法在keycloak上下文中加载jar文件。要使其工作,我们必须使用密钥披风SPI中提到的模块结构来部署代码。当我们使用模块方法部署代码时,我们可以在新创建的模块的module.xml文件中添加依赖项,然后在代码中使用该依赖项。

票数 0
EN

Stack Overflow用户

发布于 2022-09-15 15:39:38

我也面临着类似的问题,在钥匙斗篷15.0.2。通过以下链接解决:

https://keycloak.discourse.group/t/how-to-get-authenticated-user-inside-realmresourceprovider/13260/2

如果链接不可访问,这是解决方案:

您必须在jar的META中添加包含所需模块的JBos-Deployment-structure.xml。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <dependencies>
            <module name="org.keycloak.keycloak-core" export="true"/>
            <module name="org.keycloak.keycloak-server-spi" export="true"/>
            <module name="org.keycloak.keycloak-server-spi-private" export="true"/>
            <module name="org.keycloak.keycloak-services" export="true"/>
        </dependencies>
    </deployment>
</jboss-deployment-structure>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48821656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档