2017-02-07 3 views
0

내 REST 백엔드를 사용하는 Android 앱을 개발 중입니다. 백엔드는 JBoss 인스턴스에서 실행되며, 이는 Keycloak을 통해 보호됩니다. Keycloak을 1.0.7에서 2.1.5로 업데이트 했으므로 다음과 같은 문제가 발생합니다. 내 백엔드의 REST API를 호출하려고하면 은 제이보스는 folowing 로그 기록 :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

관련 문제