Skip to content

Instantly share code, notes, and snippets.

@sbogomolov
Last active April 14, 2025 16:02
Show Gist options
  • Save sbogomolov/708eba479c61b0bc0ada18aad5b2c544 to your computer and use it in GitHub Desktop.
Save sbogomolov/708eba479c61b0bc0ada18aad5b2c544 to your computer and use it in GitHub Desktop.
Property Mapping for authentik: Overseerr authentication using Plex SSO token
from authentik.sources.plex.models import UserPlexSourceConnection
import json
connection = UserPlexSourceConnection.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 {}
@imightbelosthere
Copy link

custom scope... ??? Pardon my ignorance... Where exactly?

@sbogomolov
Copy link
Author

You should’ve created a custom scope mapping (code in the first post). Then you need to use this custom scope mapping in your proxy provider. You should see it in the right list Selected Scopes.

@imightbelosthere
Copy link

You should’ve created a custom scope mapping (code in the first post). Then you need to use this custom scope mapping in your proxy provider. You should see it in the right list Selected Scopes.

🤦 That's just it... I've created the Scope Mapping as a Plex Source Mapping!
{BC2E7E1E-3EC3-4FB5-B5F3-634E483ADCF7}

I have it now on the Proxy Provider, still I land on the login page... hmmmm...

@sbogomolov
Copy link
Author

Try incognito tab. If it works there - clear browsing history.

@imightbelosthere
Copy link

Try incognito tab. If it works there - clear browsing history.

Damn... Right on the money! It works perfectly now! Thanks!!!! :)

@sbogomolov
Copy link
Author

You’re most welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment