ue-auth-module
v2.2.7
Published
- Импортировть библиотеки: `npm i ue-auth-module cookie-parser`
Downloads
131
Readme
Модуль для авторизации
Начало работы
- Импортировть библиотеки:
npm i ue-auth-module cookie-parser
Задать адрес для получения матрицы ролей: AUTH_URL={auth_host}:{auth_port}/api/v1/auth/roles-map
Задать UID микросервиса: MICROSERVICE_ID={your_microservice_id}
Использование
- В main.ts вставить следующие строки
import * as cookieParser from 'cookie-parser';
...
app.enableCors({ origin: allowedOrigin, credentials: true });
app.use(cookieParser());- В модуле, который содержит в себе контроллер нужно проимпортировать модуль авторизации
import { AuthLibModule } from 'ue-auth-module';
@Module({})
export class YourModule {
static register(): DynamicModule {
return {
module: YourModule,
controllers: [YourController],
providers: [
YourService,
],
imports: [
AuthLibModule.register({
cache: {
username: process.env.REDIS_USERNAME,
password: process.env.REDIS_PASSWORD,
socket: {
host: process.env.REDIS_HOST,
port: Number(process.env.REDIS_PORT),
},
},
authUrl: String(process.env.AUTH_URL),
microserviceId: String(process.env.MICROSERVICE_ID),
accessTokenKey: String(process.env.ACCESS_TOKEN_KEY),
jwt: {
secret: String(process.env.JWT_SECRET),
signOptions: {
expiresIn: String(process.env.ACCESS_TOKEN_EXPIRATION),
},
global: true,
},
}),
],
};
}
}
- В контроллере использовать декоратор Actions и в UseGuards прокинуть импортируемый гвард
import { Actions, JwtSessionAuthGuard } from 'ue-auth-module';
@Actions('asterisk.get.checkContract')
@UseGuards(JwtSessionAuthGuard)
@Get('yourMehod')
yourMehod() {
console.log('yourMehod')
}