icynet-auth-server/src/modules/jwt/jwt.providers.ts

21 lines
647 B
TypeScript

import { join } from 'path';
import { readFile } from 'fs/promises';
import { FactoryProvider, ValueProvider } from '@nestjs/common';
export const jwtProviders = [
{
provide: 'PRIVATE_PATH',
useValue: join(__dirname, '..', '..', '..', 'private'),
} as ValueProvider<string>,
{
provide: 'JWT_PRIVATE_KEY',
useFactory: async (path: string) => readFile(join(path, 'jwt.private.pem')),
inject: ['PRIVATE_PATH'],
} as FactoryProvider<Buffer>,
{
provide: 'JWT_PUBLIC_KEY',
useFactory: async (path: string) => readFile(join(path, 'jwt.public.pem')),
inject: ['PRIVATE_PATH'],
} as FactoryProvider<Buffer>,
];