Проверяет понимание механизма Single Sign-On и роли редиректов в процессе аутентификации пользователя между сервисами.
Single Sign-On (SSO) — это подход, при котором пользователь один раз проходит аутентификацию на центральном сервере (Identity Provider, IdP) и получает доступ к множеству независимых приложений без повторного ввода пароля. Ключевую роль в этом процессе играют HTTP-редиректы: браузер перебрасывается между приложением и IdP, а токены передаются через URL или cookies.
app.get('/login', (req, res) => {
const params = new URLSearchParams({
client_id: CLIENT_ID,
redirect_uri: 'https://app.com/callback',
response_type: 'code',
scope: 'openid profile',
state: crypto.randomUUID()
});
res.redirect(`https://idp.com/authorize?${params}`);
});
app.get('/callback', async (req, res) => {
const { code } = req.query;
const token = await exchangeCodeForToken(code);
req.session.user = verifyToken(token);
res.redirect('/dashboard');
});Параметр state защищает от CSRF-атак: приложение генерирует случайное значение, сохраняет его в сессии и сверяет с тем, что вернул IdP. Если значения не совпадают — запрос отклоняется.
Итог: SSO через редиректы позволяет централизованно управлять аутентификацией и упрощает жизнь пользователю. Применяйте его, когда в системе несколько приложений и важно избежать повторных логинов и дублирования учётных данных.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию