← К быстрому старту
Node.js
Обмен кода на сервере (секретный API-ключ не в браузере).
Клиент редиректит на ваш фронт с sa_code; фронт POSTит на ваш бэкенд; бэкенд вызывает Synapsea exchange-code.
// Express: обмен sa_code на сессию на сервере
import express from 'express';
const app = express();
app.use(express.json());
app.post('/auth/exchange', async (req, res) => {
const { code } = req.body;
const r = await fetch('https://auth.synapsea.agency/api/v1/auth/exchange-code', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Synapsea-Key': process.env.SYNAPSEA_KEY!,
},
body: JSON.stringify({ code }),
});
if (!r.ok) return res.status(401).json({ error: 'bad_code' });
const { token, user } = await r.json();
// установите httpOnly cookie с token или свою сессию
res.json({ ok: true, user });
});