2017-02-07 2 views
0

Я разрабатываю приложение для Android, которое использует мой REST-сервер. Бэкэнд работает на экземпляре JBoss, который защищен Keycloak. Поскольку я обновил свой Keycloak с 1.0.7 до 2.1.5, у меня возникла следующая проблема. Если я пытаюсь вызвать REST API моего внутреннего интерфейса, JBoss пишет на следующий журнал:org.keycloak.common.VerificationException: Недействительный маркер-маркер

 [org.keycloak.adapters.BearerTokenRequestAuthenticator] (default task-39) 
Failed to verify token: org.keycloak.common.VerificationException: Invalid token issuer. 
      Expected 'http://localhost:8180/auth/realms/myrealm', but was 'http://192.168.178.24:8180/auth/realms/myrealm' 
      at org.keycloak.TokenVerifier.verify(TokenVerifier.java:156) 
      at org.keycloak.RSATokenVerifier.verify(RSATokenVerifier.java:89) 

192.168.178.24 правильного IP-адрес. Кажется, это проблема конфигурации, но где я могу настроить этот адрес?

Есть ли у кого-нибудь идея, как решить эту проблему?

ответ

0

Если вы посмотрите на реализацию, здесь она выбрасывает ваше исключение.

public static class RealmUrlCheck implements Predicate<JsonWebToken> { 

    private static final RealmUrlCheck NULL_INSTANCE = new RealmUrlCheck(null); 

    private final String realmUrl; 

    public RealmUrlCheck(String realmUrl) { 
     this.realmUrl = realmUrl; 
    } 

    @Override 
    public boolean test(JsonWebToken t) throws VerificationException { 
     if (this.realmUrl == null) { 
      throw new VerificationException("Realm URL not set"); 
     } 

     if (! this.realmUrl.equals(t.getIssuer())) { 
      throw new VerificationException("Invalid token issuer. Expected '" + this.realmUrl + "', but was '" + t.getIssuer() + "'"); 
     } 

     return true; 
    } 
}; 

Я думаю, что ваша конфигурация клиента неправильная. У вас есть те же клиенты, что и в вашем Keycloak?

+0

https://github.com/keycloak/keycloak/blob/master/core/src/main/java/org/keycloak/TokenVerifier.java – DOUBL3P

Смежные вопросы