mirror of
https://github.com/quay/quay.git
synced 2025-04-19 21:42:17 +03:00
24 lines
512 B
Python
24 lines
512 B
Python
import base64
|
|
|
|
|
|
def parse_basic_auth(header_value):
|
|
"""
|
|
Attempts to parse the given header value as a Base64-encoded Basic auth header.
|
|
"""
|
|
|
|
if not header_value:
|
|
return None
|
|
|
|
parts = header_value.split(" ")
|
|
if len(parts) != 2 or parts[0].lower() != "basic":
|
|
return None
|
|
|
|
try:
|
|
basic_parts = base64.b64decode(parts[1]).split(":", 1)
|
|
if len(basic_parts) != 2:
|
|
return None
|
|
|
|
return basic_parts
|
|
except ValueError:
|
|
return None
|