Comparer le token d'API à temps constant
This commit is contained in:
@ -348,8 +348,11 @@ def _require_token(x_lidar_token: str = Header(None)):
|
|||||||
Utilisé par la machine de traitement pour n'accepter que la webapp légère
|
Utilisé par la machine de traitement pour n'accepter que la webapp légère
|
||||||
autorisée (qui présente LIDAR_REMOTE_TOKEN) sur le réseau local.
|
autorisée (qui présente LIDAR_REMOTE_TOKEN) sur le réseau local.
|
||||||
"""
|
"""
|
||||||
if API_TOKEN and x_lidar_token != API_TOKEN:
|
if API_TOKEN:
|
||||||
raise HTTPException(401, "token d'API manquant ou invalide")
|
import hmac
|
||||||
|
presented = x_lidar_token or ""
|
||||||
|
if not hmac.compare_digest(presented, API_TOKEN):
|
||||||
|
raise HTTPException(401, "token d'API manquant ou invalide")
|
||||||
|
|
||||||
|
|
||||||
def _ip_in_regen_cidr(ip):
|
def _ip_in_regen_cidr(ip):
|
||||||
|
|||||||
Reference in New Issue
Block a user