Store Google avatar bytes and slim the session JWT to id only.
Download profile images on login into picturebinary, return them as base64 from /auth/me, and resolve sessions via getById.
This commit is contained in:
@@ -4221,7 +4221,7 @@
|
||||
"Auth"
|
||||
],
|
||||
"summary": "Current user",
|
||||
"description": "Returns the authenticated user from the session cookie and the Google client ID. Unauthenticated calls still receive `googleClientId` with 401.",
|
||||
"description": "Returns the authenticated user from the session cookie and the Google client ID.\n`user.picture` is the stored profile image as a base64 string when present.\nUnauthenticated calls still receive `googleClientId` with 401.\n",
|
||||
"security": [
|
||||
{
|
||||
"cookieAuth": []
|
||||
@@ -4303,7 +4303,7 @@
|
||||
"Auth"
|
||||
],
|
||||
"summary": "Login with Google ID token",
|
||||
"description": "Verifies a Google ID token, checks allowlist (or creates entry when `IMPLICIT_CREATE=true`), and sets an HTTP-only `token` cookie.",
|
||||
"description": "Verifies a Google ID token, checks allowlist (or creates entry when `IMPLICIT_CREATE=true`),\nstores Google `sub` and profile image bytes, and sets an HTTP-only `token` cookie.\n`user.picture` is the profile image as base64 (same as GET /auth/me).\n",
|
||||
"security": [],
|
||||
"x-markdown": "auth/login.md",
|
||||
"requestBody": {
|
||||
@@ -4434,7 +4434,7 @@
|
||||
},
|
||||
"picture": {
|
||||
"type": "string",
|
||||
"format": "uri"
|
||||
"description": "Profile image as base64 (from stored picturebinary); omitted when unset"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -4,7 +4,10 @@ Public. No cookie required.
|
||||
|
||||
Login with Google ID token
|
||||
|
||||
Verifies a Google ID token, checks allowlist (or creates entry when `IMPLICIT_CREATE=true`), and sets an HTTP-only `token` cookie.
|
||||
Verifies a Google ID token, checks allowlist (or creates entry when `IMPLICIT_CREATE=true`),
|
||||
stores Google `sub` and profile image bytes, and sets an HTTP-only `token` cookie.
|
||||
`user.picture` is the profile image as base64 (same as GET /auth/me).
|
||||
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
|
||||
@@ -4,7 +4,10 @@ Protected. Requires a valid session cookie (`credentials: 'include'`).
|
||||
|
||||
Current user
|
||||
|
||||
Returns the authenticated user from the session cookie and the Google client ID. Unauthenticated calls still receive `googleClientId` with 401.
|
||||
Returns the authenticated user from the session cookie and the Google client ID.
|
||||
`user.picture` is the stored profile image as a base64 string when present.
|
||||
Unauthenticated calls still receive `googleClientId` with 401.
|
||||
|
||||
|
||||
## Response `200`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user