Public Access
feat(profile): let users share stat groups
Store the groups in user_settings.profile_stats and send them in the profile ticket, so Core shows only these on the public profile.
This commit is contained in:
1 parent
4b2acef381
commit
4ec47f1b2c
22 files changed
+206
-25
No files matched your search
@@ -35,7 +35,8 @@ To Be Played is split into three repositories:
|
||||
- Appearance settings synced across devices: accent color, corner style, wide layout, background and dashboard
|
||||
banner from the user's own game art. Only whitelisted presets and Steam app ids are stored, never raw CSS or URLs.
|
||||
- Opt-in public profile at `/u/<display name>`. Auth answers with a short-lived **profile ticket** (EdDSA JWT,
|
||||
10 minutes, `typ=public-profile`) that Core accepts for the public library data only. The ticket is not a login:
|
||||
10 minutes, `typ=public-profile`) that Core accepts for the public library data only. Its `profileStats` claim
|
||||
names the stat groups the user chose to show there (none by default). The ticket is not a login:
|
||||
both services reject every token with a `typ` claim on normal endpoints.
|
||||
|
||||
## API
|
||||
@@ -52,6 +53,7 @@ To Be Played is split into three repositories:
|
||||
| `DELETE` | `/api/users/steam-link` | access token, removes the Steam ID and sets a new access cookie |
|
||||
| `GET` | `/api/steam-link/callback` | public, Steam's redirect back; binding cookie; redirects to the frontend settings |
|
||||
| `PUT` | `/api/users/settings/appearance` | access token |
|
||||
| `PUT` | `/api/users/settings/profile-stats` (`{groups}`: `PILE`, `TOP_GAMES`, `TASTE`, `HABITS`, `FINISHED`, `TREND`; `204`) | access token |
|
||||
| `GET` | `/api/public/profiles/{displayName}` | public |
|
||||
| `GET` | `/api/stats/public` | public |
|
||||
|
||||
|
||||
Reference in new issue
Block a user