我需要调用需要身份验证的休息Web服务的方法。 我有一个json文件keycloak.json和另一个comonApi.json文件来生成带有插件Swagger的客户端。
但我不知道如何处理其他文件keyclooak.json。
请问我如何使用keycloak.json文件为调用方法生成令牌?
答案 0 :(得分:3)
我的问题的解决方案:
import org.keycloak.admin.client.Keycloak;
import org.keycloak.representations.AccessTokenResponse;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class KeycloakUtils {
@Value("${toto.realm}")
private String realm;
@Value("${toto.client.id}")
private String clientId;
@Value("${toto.server.url}")
private String serverUrl;
@Value("${toto.user.name}")
private String userName;
@Value("${toto.password}")
private String password;
@Value("${toto.client.secret}")
private String clientSecret;
private Keycloak keycloak;
public Keycloak getInstance() {
if (keycloak == null) {
keycloak = Keycloak.getInstance(serverUrl, realm, userName, password, clientId, clientSecret);
}
return keycloak;
}
public AccessTokenResponse getAccessToken() {
return getInstance().tokenManager().grantToken();
}