首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何基于tomcat验证密钥披风中的一份材料?

如何基于tomcat验证密钥披风中的一份材料?
EN

Stack Overflow用户
提问于 2022-06-14 12:53:11
回答 1查看 117关注 0票数 0

我想验证从keycloak检索到的访问令牌。

目标应用程序完全基于Tomcat。Spring框架不涉及,也不应作为依赖关系来提取。

是否存在哪些选项来验证该资源?

EN

回答 1

Stack Overflow用户

发布于 2022-06-14 12:53:11

首先将依赖项添加到pom中。

代码语言:javascript
运行
复制
        <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-tomcat-adapter</artifactId>
        <version>x.x.x</version>

您应该使用哪个版本取决于两件事:

  1. (键盘斗篷的版本)和
  2. (您正在使用的tomcat库的版本)。

对于我们的例子,一个版本+16就足够了。

接下来,您需要配置您的KeycloakDeployment。

代码语言:javascript
运行
复制
HttpClientBuilder clientBuilder = new HttpClientBuilder();
HttpClient client = clientBuilder.build();

AdapterConfig config = new AdapterConfig();
// pointing to your keycloak
config.setAuthServerUrl(url);

JWKPublicKeyLocator locator = new JWKPublicKeyLocator();

KeycloakDeployment deployment = new KeycloakDeployment();
// for sending requests
deployment.setClient(client);
deployment.setAuthServerBaseUrl(config);
// to store your public key
deployment.setPublicKeyLocator(locator);
// how long settings should live in your cache
deployment.setPublicKeyCacheTtl(ttl);
deployment.setRealm(realm);

最后,您可以检查您的令牌。

代码语言:javascript
运行
复制
 TokenVerifier<JsonWebToken> verifier = AdapterTokenVerifier
            .createVerifier(token, deployment, true, JsonWebToken.class);
    verifier.verify();

这段代码实际上是做什么的?

它将动态地从服务的auth服务器及其领域中提取公钥。密钥将存储在缓存中,只有在缓存的ttl过期时才会再次被提取。然后,将根据keycloak部署检查交付的令牌,并验证令牌签名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72617327

复制
相关文章

相似问题

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