|
| 1 | +/* eslint-disable n/no-callback-literal */ |
1 | 2 | /* eslint-disable dot-notation */ |
2 | 3 | const request = require("request"); |
3 | 4 |
|
@@ -379,6 +380,7 @@ Tahoma.prototype.sendInternalRequest = function (method, requestPath, payload, c |
379 | 380 | controller.context.log.warn("error during request: " + response.statusMessage + " ->" + response.statusCode + " retry " + requestPath); |
380 | 381 |
|
381 | 382 | // session expired? |
| 383 | + if (locally) controller.clearBearerToken(); |
382 | 384 | controller.setConnected(false); |
383 | 385 | controller.loginInProgress = false; |
384 | 386 |
|
@@ -485,6 +487,16 @@ Tahoma.prototype.sendInternalRequest = function (method, requestPath, payload, c |
485 | 487 | }, controller.use_local_api); |
486 | 488 | }; |
487 | 489 |
|
| 490 | +Tahoma.prototype.clearBearerToken = function (r) { |
| 491 | + controller.context.log.info("Clearing stored bearer token " + controller.context.config.bearer_token); |
| 492 | + controller.context.getForeignObject("system.adapter." + controller.context.namespace, (err, obj) => { |
| 493 | + if (!err && obj) { |
| 494 | + obj.native.bearer_token = ""; |
| 495 | + controller.context.setForeignObject("system.adapter." + controller.context.namespace, obj); |
| 496 | + } |
| 497 | + }); |
| 498 | +}; |
| 499 | + |
488 | 500 | Tahoma.prototype.sendInternalGET = function (requestPath, payload, callback, locally) { |
489 | 501 | return controller.sendInternalRequest("GET", requestPath, payload, callback, locally); |
490 | 502 | }; |
|
0 commit comments