如何通过keycloak rest api生成jwt令牌?

问题描述 投票:8回答:1

我正在将Keycloak集成到现有应用程序中。作为此过程的一部分,我需要测试Web应用程序是否可以接受从keycloak生成的JWT令牌。

我已经阅读了API文档http://www.keycloak.org/docs-api/3.4/rest-api/index.html,找不到用于创建JWT令牌的任何方法。

有人知道在Keycloak中创建JWT令牌的任何REST API方法吗?

jwt keycloak
1个回答
8
投票

根据密钥斗篷邮件列表成员[ВиталийИщенко和Hynek Mlnarik提供的密钥斗篷邮件列表详细信息]

很大程度上取决于您要发布的JWT。对于生成样本访问令牌,请参阅[1],有关操作令牌,请参见[2],自定义,请参见[3]。

[1] https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/protocol/oidc/TokenManager.java#L698

[2] https://github.com/keycloak/keycloak/blob/master/services/src/main/java/org/keycloak/authentication/actiontoken/DefaultActionToken.java#L140

[3] https://github.com/keycloak/keycloak/blob/master/core/src/main/java/org/keycloak/jose/jws/JWSBuilder.java

Keycloak遵循OIDC规范,您可以使用OAuth2中定义的任何流[1]以及OIDC中添加的一些其他流程

OIDC规定了JWT的用法,因此访问令牌(以及refresh_token,id_token和其他均为JWT)将以JWT格式返回

为了找出令牌和身份验证的地址,keycloak提供了OIDC发现网址,即http://keycloakhost:keycloakport/auth/realms/{realm}/.well-known/openid-configuration

[一堆库可以简化令牌请求针对OIDC规范编写的过程。但是Keycloak有一套适配器可以很好地适合您现有的技术堆栈[2]。一世认为允许它们允许访问原始JWT令牌

[1] https://aaronparecki.com/oauth-2-simplified/

[2] http://www.keycloak.org/docs/latest/securing_apps/index.html#openid-connect-3

© www.soinside.com 2019 - 2024. All rights reserved.