1010 B
1010 B
Upload Profile Avatar
ID: EU-008 Priority: Low Status: Planned
User Story
As an end user, I want to upload a profile picture so that my identity is visually recognizable across applications that use this identity provider.
Acceptance Criteria
- User can upload an image from their device
- Supported formats: JPEG, PNG, GIF
- Maximum file size: 5MB
- Image is automatically resized/cropped to standard dimensions
- User can crop/adjust image before saving
- Avatar is served via CDN for fast loading
- Default avatar (initials or Gravatar) when no upload
- Avatar is available to connected applications via API
Technical Notes
- User model needs avatar URL field
- Consider using cloud storage (S3, Cloudflare R2) for images
- Implement image processing for resize/crop (sharp library)
- Gravatar integration as fallback using email hash
- Expose avatar in JWT claims or user info endpoint
Related TODOs
- New feature - no existing infrastructure