Use SHA hash to make token harder to guess (#5258)

* Use SHA hash to make token harder to guess

Use hashlib SHA256 to encode object id instead of using it directly.

* Cache access token

Instead of generating a token on the fly cache it in the constructor.

* Fix lint
pull/5264/head
Valentin Alexeev 2017-01-10 17:01:04 +02:00 committed by nordlead2005
parent 43b6dff77f
commit 922308bc1f
1 changed files with 4 additions and 1 deletions

View File

@ -8,6 +8,7 @@ https://home-assistant.io/components/camera/
import asyncio
from datetime import timedelta
import logging
import hashlib
from aiohttp import web
@ -47,11 +48,13 @@ class Camera(Entity):
def __init__(self):
"""Initialize a camera."""
self.is_streaming = False
self._access_token = hashlib.sha256(
str.encode(str(id(self)))).hexdigest()
@property
def access_token(self):
"""Access token for this camera."""
return str(id(self))
return self._access_token
@property
def should_poll(self):