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
This commit is contained in:
parent
6845a0974d
commit
f75e13f55e
1 changed files with 4 additions and 1 deletions
|
@ -8,6 +8,7 @@ https://home-assistant.io/components/camera/
|
||||||
import asyncio
|
import asyncio
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import logging
|
import logging
|
||||||
|
import hashlib
|
||||||
|
|
||||||
from aiohttp import web
|
from aiohttp import web
|
||||||
|
|
||||||
|
@ -47,11 +48,13 @@ class Camera(Entity):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
"""Initialize a camera."""
|
"""Initialize a camera."""
|
||||||
self.is_streaming = False
|
self.is_streaming = False
|
||||||
|
self._access_token = hashlib.sha256(
|
||||||
|
str.encode(str(id(self)))).hexdigest()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def access_token(self):
|
def access_token(self):
|
||||||
"""Access token for this camera."""
|
"""Access token for this camera."""
|
||||||
return str(id(self))
|
return self._access_token
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def should_poll(self):
|
def should_poll(self):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue