diff --git a/bundles/org.openhab.binding.myq/src/main/java/org/openhab/binding/myq/internal/handler/MyQAccountHandler.java b/bundles/org.openhab.binding.myq/src/main/java/org/openhab/binding/myq/internal/handler/MyQAccountHandler.java index f42615891..9f3cdd29a 100644 --- a/bundles/org.openhab.binding.myq/src/main/java/org/openhab/binding/myq/internal/handler/MyQAccountHandler.java +++ b/bundles/org.openhab.binding.myq/src/main/java/org/openhab/binding/myq/internal/handler/MyQAccountHandler.java @@ -342,12 +342,16 @@ public class MyQAccountHandler extends BaseBridgeHandler implements AccessTokenR ContentResponse tokenResponse = getLoginToken(location, codeVerifier); String loginToken = tokenResponse.getContentAsString(); - AccessTokenResponse accessTokenResponse = gsonLowerCase.fromJson(loginToken, AccessTokenResponse.class); - if (accessTokenResponse == null) { - throw new MyQAuthenticationException("Could not parse token response"); + try { + AccessTokenResponse accessTokenResponse = gsonLowerCase.fromJson(loginToken, AccessTokenResponse.class); + if (accessTokenResponse == null) { + throw new MyQAuthenticationException("Could not parse token response"); + } + getOAuthService().importAccessTokenResponse(accessTokenResponse); + return accessTokenResponse; + } catch (JsonSyntaxException e) { + throw new MyQCommunicationException("Invalid Token Response " + loginToken); } - getOAuthService().importAccessTokenResponse(accessTokenResponse); - return accessTokenResponse; } catch (IOException | ExecutionException | TimeoutException | OAuthException | URISyntaxException e) { throw new MyQCommunicationException(e.getMessage()); }