abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 
Beantwortet! Gehe zur Lösung.

Refreshing an access token API

Hallo,

 

ich versuche meinen refresh token zu bekommen doch leider sieht meine Antwort nicht so aus :

(https://documentation.viessmann.com/static/authentication)

 

HTTP/1.1 200 OK

Content-Type: application/json

{
    "access_token": "eyJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU...",
    "refresh_token": "083ed7fe41a619242df5978190fd11b5",
    "token_type": "Bearer",
    "expires_in": 3600
}

 sondern es kommt sowas dabei raus:

 

<!DOCTYPE html>
<html>
<head>
<title>Viessmann Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="icon" href="/login/resources/nevislogrend/applications/IDM_OIDC_IDP_V2/webdata/images/favicon.png" type="image/png">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"/>
<link rel="stylesheet" href="/login/resources/nevislogrend/applications/IDM_OIDC_IDP_V2/webdata/css/material.min.css"/>
<link rel="stylesheet" href="/login/resources/nevislogrend/applications/IDM_OIDC_IDP_V2/webdata/css/customerRegistration.css"/>
<script src="/login/resources/nevislogrend/applications/IDM_OIDC_IDP_V2/webdata/js/material.min.js"></script>
<script src="/login/resources/nevislogrend/applications/IDM_OIDC_IDP_V2/webdata/js/showpw.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
<script>
function onSubmit() {
document.getElementById("AuthUidDialogCaptcha").submit();
}
</script>
</head>
<body>
<div class="b2b-main-background"> <div class="font-size-20px b2b-regestration-headline"> <div class="mdl-grid mdl-grid--no-spacing"> <div class="b2b-regestration-headline-item" style="margin-left:24px">Login</div>
</div> </div>
<div class="b2b-main-container"> <div class="b2b-sub-container"> <div class="mdl-grid mdl-grid--no-spacing"> <div class="mdl-layout-spacer"></div>
<img src="/login/resources/nevislogrend/applications/IDM_OIDC_IDP_V2/webdata/images/viessmann-logo.png" alt="viessmann-logo" class="b2b-vi-image"/>
<div class="mdl-layout-spacer"></div>
</div> <form class="b2b-form-space" id="AuthUidDialogCaptcha" name="AuthUidDialogCaptcha" method="POST" target="_self" action="https://iam.viessmann.com/idp/v2/authorize?client_id=88438a5ab704a008f683dfe3d041bea7&amp;redirect_u..." autocomplete="off" accept-charset="UTF-8">

 

<noscript>
<div class="mdl-grid mdl-grid--no-spacing">
<div class="mdl-layout-spacer"></div>
<div class="error-color normal-text font-size-26px opacity-87 b2b-form-space b2b-line-height"><p>Javascript in your browser is disabled. This page requires javascript to work properly.<br>Please enable javascript in order to use this page.</p></div>
<div class="mdl-layout-spacer"></div>
</div>
</noscript>

 

 

Der Curl comand ist wie in dem Beispiel, ich ersetze nur die my_oauth_cliend_id und die code_challenge mit meinen Werten.

curl -X POST "https://iam.viessmann.com/idp/v2/authorize?
client_id=my_oauth_client_id
&redirect_uri=http://localhost:4200/
&response_type=code
&code_challenge=2e21faa1-db2c-4d0b-a10f-575fd372bc8c-575fd372bc8c
&scope=IoT%20User%20offline_access" 

 Was mach ich falsch

1 AKZEPTIERTE LÖSUNG

Akzeptierte Lösungen

@DanielAux um neben dem Access Token auch einen Refresh Token zu erhalten, musst du lediglich in Step 1 den Scope ändern zu IoT%20User%20offline_access. Die restlichen Schritte bleiben der gleich. Anschließend sollte sowohl ein Access Token als auch ein Refresh Token erzeugt werden.

Lösung in ursprünglichem Beitrag anzeigen

3 ANTWORTEN 3

Hallo @DanielAux,

Versuch bitte einmal, den Aufruf in einem Browserfenster aufzurufen, also sprich den Link im Befehl im Browser zu öffnen. Du müsstest anschließend ein Login Fenster erhalten, in dem dich mit deinem Viessmann Account (den du für ViCare verwendest) einloggen musst. Anschließend erhältst du einen Code, der sich im Link des sich öffnenden Fensters befindet. Diesen Code nutzt du dann für Step 2 der Authentifizierung, welchen du nicht mehr im Browser ausführen musst, sondern beispielsweise in Postman durchführen kannst.

Ich hoffe das hilft weiter.

Gruß,

Michael

Hallo @MichaelHanna ,

leider nicht.

Step 1 und 2 funktionieren, ich habe meinen "access_token"

 

Das Anfragen des "refresh_token" klappt nicht (Step Refreshing an access token)

 

curl -X POST "https://iam.viessmann.com/idp/v2/authorize?
client_id=my_oauth_client_id
&redirect_uri=http://localhost:4200/
&response_type=code
&code_challenge=2e21faa1-db2c-4d0b-a10f-575fd372bc8c-575fd372bc8c
&scope=IoT%20User%20offline_access" 

 

 

@DanielAux um neben dem Access Token auch einen Refresh Token zu erhalten, musst du lediglich in Step 1 den Scope ändern zu IoT%20User%20offline_access. Die restlichen Schritte bleiben der gleich. Anschließend sollte sowohl ein Access Token als auch ein Refresh Token erzeugt werden.

Top-Lösungsautoren