Property Mapping for authentik: Overseerr authentication using Plex SSO token
from authentik.sources.plex.models import PlexSourceConnection
import json
connection = PlexSourceConnection.objects.filter(user=request.user).first()
if not connection:
ak_logger.info("Overseer: No Plex connection found")
return {}
base_url = "http://overseerr.apps:5055"
end_point = "/api/v1/auth/plex"
headers = {
"Content-Type": "application/json",
}
data = {
"authToken": connection.plex_token
}
response = requests.post(base_url + end_point, headers=headers, data=json.dumps(data))
if response.status_code == 200:
sid_value = response.cookies.get("connect.sid")
cookie_obj = f"connect.sid={sid_value}"
ak_logger.info("Overseer: Successfully authenticated with Plex token")
return {
"ak_proxy": {
"user_attributes": {
"additionalHeaders": {
"Cookie": cookie_obj
}
}
}
}
else:
ak_logger.error(f"Overseer: The request failed with: {response.text}")
return {}