import {Provider} from '@loopback/core'; import * as jwt from 'jsonwebtoken'; import {JWTSignerFn} from './types'; export class JWTSymmetricSignerProvider implements Provider> { value(): JWTSignerFn { return async (data: string | T, options: jwt.SignOptions) => { const secret = process.env.JWT_SECRET as string; const accessToken = jwt.sign(data, secret, { ...options, issuer: process.env.JWT_ISSUER, algorithm: 'HS256', }); return accessToken; }; } }