Skip to content

feat: use OIDC avatars#7624

Open
doenke wants to merge 7 commits into
mealie-recipes:mealie-nextfrom
doenke:mealie-next
Open

feat: use OIDC avatars#7624
doenke wants to merge 7 commits into
mealie-recipes:mealie-nextfrom
doenke:mealie-next

Conversation

@doenke

@doenke doenke commented May 14, 2026

Copy link
Copy Markdown

What this PR does / why we need it:

This PR improves OIDC-based avatar handling so profile images are both sourced correctly and refreshed when the upstream identity provider updates them.

Changes made:

  • mealie/core/security/providers/openid_provider.py
    • Added support for using the OIDC picture claim as the user avatar source.
    • Updated avatar update behavior to rotate the user cache key when avatar-related profile data changes.

Why:

  • Some OIDC providers expose user profile images via the picture claim; this ensures Mealie can consume that standard claim directly.

Which issue(s) this PR fixes:

N/A

(If no issue exists, replace with: N/A)

Special notes for your reviewer:

  • Review focus: openid_provider.py avatar update flow.
  • The change is intentionally scoped to OIDC provider logic only.

Testing

  • Verified OIDC login/sync path still succeeds with existing claims.
  • Verified avatar is populated from picture claim when present.
  • Verified avatar changes trigger cache-key rotation so updated images are served instead of stale cached content.

AI / LLM Assistance

This PR was developed with AI assistance for drafting and refining implementation details, commit/PR text, and validation steps.
All code changes and final behavior were reviewed and validated by the author.

@doenke doenke marked this pull request as ready for review May 15, 2026 08:06
@doenke doenke changed the title use OIDC avatars feat: use OIDC avatars May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant