From 4a9dcb540ef47e466da1d153a75a6c6d6e71154e Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 27 Sep 2018 14:35:40 +0200 Subject: [PATCH] Add support for long live token (#719) * Add support for long live token * Update proxy.py --- hassio/api/proxy.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hassio/api/proxy.py b/hassio/api/proxy.py index c88042c71..af6d38af6 100644 --- a/hassio/api/proxy.py +++ b/hassio/api/proxy.py @@ -7,7 +7,7 @@ import aiohttp from aiohttp import web from aiohttp.web_exceptions import ( HTTPBadGateway, HTTPInternalServerError, HTTPUnauthorized) -from aiohttp.hdrs import CONTENT_TYPE +from aiohttp.hdrs import CONTENT_TYPE, AUTHORIZATION import async_timeout from ..const import HEADER_HA_ACCESS @@ -22,9 +22,13 @@ class APIProxy(CoreSysAttributes): def _check_access(self, request): """Check the Hass.io token.""" - hassio_token = request.headers.get(HEADER_HA_ACCESS) - addon = self.sys_addons.from_token(hassio_token) + if AUTHORIZATION in request.headers: + bearer = request.headers[AUTHORIZATION] + hassio_token = bearer.split(' ')[-1] + else: + hassio_token = request.headers.get(HEADER_HA_ACCESS) + addon = self.sys_addons.from_token(hassio_token) if not addon: _LOGGER.warning("Unknown Home Assistant API access!") elif not addon.access_homeassistant_api: