fix and update

This commit is contained in:
lendry
2026-07-01 15:52:17 +03:00
parent de4310239c
commit f7c01a3963
8 changed files with 152 additions and 25 deletions

View File

@@ -246,4 +246,21 @@ export class FedcmController {
) {
return this.syncFedcmSessionFromAuthorization(authorization, res);
}
@Get('login-status')
@ApiOperation({
summary: 'FedCM Login Status (API origin)',
description:
'Минимальная HTML-страница на API-домене: Set-Login + navigator.login.setStatus для Chrome FedCM (origin login_url).'
})
async loginStatus(@Req() req: Request, @Res() res: Response) {
const session = await resolveFedcmSessionFromRequest(this.jwt, req.headers.cookie);
const loggedIn = Boolean(session);
applyFedcmLoginStatus(res, loggedIn);
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.setHeader('Cache-Control', 'no-store');
res.status(200).send(`<!DOCTYPE html><html lang="ru"><head><meta charset="utf-8"></head><body><script>
try{if(navigator.login&&navigator.login.setStatus){navigator.login.setStatus('${loggedIn ? 'logged-in' : 'logged-out'}');}}catch(e){}
</script></body></html>`);
}
}