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 {}
@sbogomolov
Copy link
Author

@imightbelosthere I’m glad it worked for you :)

@imightbelosthere
Copy link

imightbelosthere commented Apr 14, 2025

Well... sort'a worked... I'm having the same situation as others which is the fact that I get to the overseerr page and it prompts me for the login instead of SSO'ing using the connected service.

On my overseerr.yml file I have the following:
{2372F661-D613-4488-AF8A-6C1693356917}

Then on the Proxy Provider I have:
{B4013810-9C63-4447-A2A6-84375C8E4D50}

What am I doing wrong here?

@sbogomolov
Copy link
Author

Do you have that custom scope selected?

@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