/
effective_wiki
/
web-client
Обзор
Документация
Войти
/
effective_wiki
/
web-client
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
src/auth.ts
46 строк
1 KB
Max-Sam231
fix: add correct uuid for user
07 дек 2025, 08:48
07 дек 2025, 08:48
8e49060
Код
Авторство
О чём код?
import NextAuth from "next-auth"; import Yandex from "next-auth/providers/yandex"; import { v5 as uuidv5 } from "uuid"; const yandexClientId = process.env.YANDEX_CLIENT_ID; const yandexClientSecret = process.env.YANDEX_CLIENT_SECRET; const USER_UUID_NAMESPACE = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; if (!yandexClientId || !yandexClientSecret) { console.warn( "YANDEX_CLIENT_ID или YANDEX_CLIENT_SECRET не заданы. Авторизация через Яндекс ID не будет работать." ); } export const { handlers, auth, signIn, signOut } = NextAuth({ trustHost: true, session: { strategy: "jwt", }, providers: [ Yandex({ clientId: yandexClientId!, clientSecret: yandexClientSecret!, }), ], callbacks: { async jwt({ token, profile }) { if (profile && profile.id) { token.id = uuidv5(profile.id as string, USER_UUID_NAMESPACE); } return token; }, async session({ session, token }) { if (session.user) { if (token.id) { session.user.id = token.id; } else if (token.sub) { session.user.id = token.sub; } } return session; }, }, });