directus

Форк
0
/
verify-session-jwt.ts 
26 строк · 646.0 Байт
1
import getDatabase from '../database/index.js';
2
import { InvalidCredentialsError } from '@directus/errors';
3
import type { DirectusTokenPayload } from '../types/index.js';
4

5
/**
6
 * Verifies the associated session is still available and valid.
7
 *
8
 * @throws If session not found.
9
 */
10
export async function verifySessionJWT(payload: DirectusTokenPayload) {
11
	const database = getDatabase();
12

13
	const session = await database
14
		.select(1)
15
		.from('directus_sessions')
16
		.where({
17
			token: payload['session'],
18
			user: payload['id'],
19
		})
20
		.andWhere('expires', '>=', new Date())
21
		.first();
22

23
	if (!session) {
24
		throw new InvalidCredentialsError();
25
	}
26
}
27

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.