]> git.basschouten.com Git - openhab-addons.git/commitdiff
[tesla] Adapt access token handling to changes in Tesla API (#12530)
authorKai Kreuzer <kai@openhab.org>
Sun, 27 Mar 2022 07:27:02 +0000 (09:27 +0200)
committerGitHub <noreply@github.com>
Sun, 27 Mar 2022 07:27:02 +0000 (09:27 +0200)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaSSOHandler.java

index ff292d70915eedd8b2a8780f1796fa741c88e661..edae2f431bd03c32d0cc39af37c20e4abeaa8c33 100644 (file)
@@ -39,7 +39,6 @@ import org.jsoup.nodes.Element;
 import org.openhab.binding.tesla.internal.protocol.sso.AuthorizationCodeExchangeRequest;
 import org.openhab.binding.tesla.internal.protocol.sso.AuthorizationCodeExchangeResponse;
 import org.openhab.binding.tesla.internal.protocol.sso.RefreshTokenRequest;
-import org.openhab.binding.tesla.internal.protocol.sso.TokenExchangeRequest;
 import org.openhab.binding.tesla.internal.protocol.sso.TokenResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -82,29 +81,9 @@ public class TeslaSSOHandler {
             TokenResponse tokenResponse = gson.fromJson(refreshTokenResponse.trim(), TokenResponse.class);
 
             if (tokenResponse != null && tokenResponse.access_token != null && !tokenResponse.access_token.isEmpty()) {
-                TokenExchangeRequest token = new TokenExchangeRequest();
-                String tokenPayload = gson.toJson(token);
-
-                final org.eclipse.jetty.client.api.Request logonRequest = httpClient
-                        .newRequest(URI_OWNERS + "/" + PATH_ACCESS_TOKEN);
-                logonRequest.content(new StringContentProvider(tokenPayload));
-                logonRequest.header(HttpHeader.CONTENT_TYPE, "application/json");
-                logonRequest.header(HttpHeader.AUTHORIZATION, "Bearer " + tokenResponse.access_token);
-                logonRequest.method(HttpMethod.POST);
-
-                ContentResponse logonTokenResponse = executeHttpRequest(logonRequest);
-
-                if (logonTokenResponse != null && logonTokenResponse.getStatus() == 200) {
-                    String tokenResponsePayload = logonTokenResponse.getContentAsString();
-                    TokenResponse tr = gson.fromJson(tokenResponsePayload.trim(), TokenResponse.class);
-
-                    if (tr != null && tr.token_type != null && !tr.access_token.isEmpty()) {
-                        return tr;
-                    }
-                } else {
-                    logger.debug("An error occurred while exchanging SSO access token for API access token: {}",
-                            (logonTokenResponse != null ? logonTokenResponse.getStatus() : "no response"));
-                }
+                return tokenResponse;
+            } else {
+                logger.debug("An error occurred while exchanging SSO auth token for API access token.");
             }
         } else {
             logger.debug("An error occurred during refresh of SSO token: {}",