
* fix incorrect default group mapping Signed-off-by: Jens Langhammer <jens@goauthentik.io> * providers/scim: add comparison with existing group on update and delta update users Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix another exception when creating groups Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix users to add check Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
"""http helpers"""
|
|
|
|
from uuid import uuid4
|
|
|
|
from requests.sessions import PreparedRequest, Session
|
|
from structlog.stdlib import get_logger
|
|
|
|
from authentik import get_full_version
|
|
from authentik.lib.config import CONFIG
|
|
|
|
LOGGER = get_logger()
|
|
|
|
|
|
def authentik_user_agent() -> str:
|
|
"""Get a common user agent"""
|
|
return f"authentik@{get_full_version()}"
|
|
|
|
|
|
class DebugSession(Session):
|
|
"""requests session which logs http requests and responses"""
|
|
|
|
def send(self, req: PreparedRequest, *args, **kwargs):
|
|
request_id = str(uuid4())
|
|
LOGGER.debug(
|
|
"HTTP request sent",
|
|
uid=request_id,
|
|
url=req.url,
|
|
method=req.method,
|
|
headers=req.headers,
|
|
body=req.body,
|
|
)
|
|
resp = super().send(req, *args, **kwargs)
|
|
LOGGER.debug(
|
|
"HTTP response received",
|
|
uid=request_id,
|
|
status=resp.status_code,
|
|
body=resp.text,
|
|
headers=resp.headers,
|
|
)
|
|
return resp
|
|
|
|
|
|
def get_http_session() -> Session:
|
|
"""Get a requests session with common headers"""
|
|
session = DebugSession() if CONFIG.get_bool("debug") else Session()
|
|
session.headers["User-Agent"] = authentik_user_agent()
|
|
return session
|