使用Keycloak

时间:2016-08-27 12:20:22

标签: java web-services rest keycloak

我需要调用需要身份验证的休息Web服务的方法。 我有一个json文件keycloak.json和另一个comonApi.json文件来生成带有插件Swagger的客户端。

但我不知道如何处理其他文件keyclooak.json。

请问我如何使用keycloak.json文件为调用方法生成令牌?

1 个答案:

答案 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();
   }