fix(auth): change auth to work with remote docker lab
This commit is contained in:
parent
2dd8bdb3c3
commit
78aec894ed
|
|
@ -17,7 +17,7 @@ ENV AUTHENTIK_AUTH_URL="https://auth.targo.ca/application/o/authorize/"
|
||||||
ENV AUTHENTIK_TOKEN_URL="https://auth.targo.ca/application/o/token/"
|
ENV AUTHENTIK_TOKEN_URL="https://auth.targo.ca/application/o/token/"
|
||||||
ENV AUTHENTIK_USERINFO_URL="https://auth.targo.ca/application/o/userinfo/"
|
ENV AUTHENTIK_USERINFO_URL="https://auth.targo.ca/application/o/userinfo/"
|
||||||
|
|
||||||
ENV TARGO_FRONTEND_URI="http://localhost:9000/"
|
ENV TARGO_FRONTEND_URI="http://10.100.251.2/"
|
||||||
|
|
||||||
ENV ATTACHMENTS_SERVER_ID="server"
|
ENV ATTACHMENTS_SERVER_ID="server"
|
||||||
ENV ATTACHMENTS_ROOT=C:/
|
ENV ATTACHMENTS_ROOT=C:/
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ export class AuthController {
|
||||||
@Get('/callback')
|
@Get('/callback')
|
||||||
@UseGuards(OIDCLoginGuard)
|
@UseGuards(OIDCLoginGuard)
|
||||||
loginCallback(@Req() req: Request, @Res() res: Response) {
|
loginCallback(@Req() req: Request, @Res() res: Response) {
|
||||||
res.redirect('http://localhost:9000/#/login-success');
|
res.redirect('http://10.100.251.2:9011/#/login-success');
|
||||||
}
|
}
|
||||||
|
|
||||||
@Get('/me')
|
@Get('/me')
|
||||||
|
|
|
||||||
110
src/main.ts
110
src/main.ts
|
|
@ -1,10 +1,10 @@
|
||||||
import 'reflect-metadata';
|
import 'reflect-metadata';
|
||||||
//import and if case for @nestjs/schedule Cron jobs
|
//import and if case for @nestjs/schedule Cron jobs
|
||||||
import * as nodeCrypto from 'crypto';
|
import * as nodeCrypto from 'crypto';
|
||||||
if(!(globalThis as any).crypto) {
|
if (!(globalThis as any).crypto) {
|
||||||
(globalThis as any).crypto = nodeCrypto;
|
(globalThis as any).crypto = nodeCrypto;
|
||||||
}
|
}
|
||||||
import { ensureAttachmentsTmpDir } from './config/attachment.fs';
|
import { ensureAttachmentsTmpDir } from './config/attachment.fs';
|
||||||
|
|
||||||
import { resolveAttachmentsRoot } from './config/attachment.config';// log to be removed post dev
|
import { resolveAttachmentsRoot } from './config/attachment.config';// log to be removed post dev
|
||||||
import { ATT_TMP_DIR } from './config/attachment.config'; // log to be removed post dev
|
import { ATT_TMP_DIR } from './config/attachment.config'; // log to be removed post dev
|
||||||
|
|
@ -20,72 +20,72 @@ import * as session from 'express-session';
|
||||||
import * as passport from 'passport';
|
import * as passport from 'passport';
|
||||||
|
|
||||||
async function bootstrap() {
|
async function bootstrap() {
|
||||||
const app = await NestFactory.create(AppModule);
|
const app = await NestFactory.create(AppModule);
|
||||||
|
|
||||||
const reflector = app.get(Reflector); //setup Reflector for Roles()
|
const reflector = app.get(Reflector); //setup Reflector for Roles()
|
||||||
|
|
||||||
app.useGlobalGuards(
|
app.useGlobalGuards(
|
||||||
// new JwtAuthGuard(reflector), //Authentification JWT
|
// new JwtAuthGuard(reflector), //Authentification JWT
|
||||||
new RolesGuard(reflector), //deny-by-default and Role-based Access Control
|
new RolesGuard(reflector), //deny-by-default and Role-based Access Control
|
||||||
new OwnershipGuard(reflector, app.get(ModuleRef)), //Global use of OwnershipGuard, not implemented yet
|
new OwnershipGuard(reflector, app.get(ModuleRef)), //Global use of OwnershipGuard, not implemented yet
|
||||||
);
|
);
|
||||||
|
|
||||||
// Authentication and session
|
// Authentication and session
|
||||||
app.use(session({
|
app.use(session({
|
||||||
secret: 'This is a super secret dev secret that you cant share with anyone',
|
secret: 'This is a super secret dev secret that you cant share with anyone',
|
||||||
resave: false,
|
resave: false,
|
||||||
saveUninitialized: false,
|
saveUninitialized: false,
|
||||||
rolling: true,
|
rolling: true,
|
||||||
cookie: {
|
cookie: {
|
||||||
maxAge: 30 * 60 * 1000,
|
maxAge: 30 * 60 * 1000,
|
||||||
httpOnly: true,
|
httpOnly: true,
|
||||||
}
|
}
|
||||||
}))
|
}))
|
||||||
app.use(passport.initialize());
|
app.use(passport.initialize());
|
||||||
app.use(passport.session());
|
app.use(passport.session());
|
||||||
|
|
||||||
// Enable CORS
|
// Enable CORS
|
||||||
app.enableCors({
|
app.enableCors({
|
||||||
origin: 'http://localhost:9000',
|
origin: ['http://10.100.251.2:9011', 'http://10.100.251.2:9012', 'http://10.100.251.2:9013'],
|
||||||
credentials: true,
|
credentials: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//swagger config
|
||||||
|
const config = new DocumentBuilder()
|
||||||
|
.setTitle('Targo_Backend')
|
||||||
|
.setDescription('Documentation de l`API REST pour Targo (NestJS + Prisma)')
|
||||||
|
.setVersion('1.0')
|
||||||
|
.addBearerAuth({
|
||||||
|
type: 'http',
|
||||||
|
scheme: 'bearer',
|
||||||
|
bearerFormat: 'JWT',
|
||||||
|
name: 'Authorization',
|
||||||
|
description: 'Invalid JWT token',
|
||||||
|
in: 'header',
|
||||||
|
}, 'access-token')
|
||||||
|
.addTag('Users')
|
||||||
|
.addTag('Employees')
|
||||||
|
.addTag('Customers')
|
||||||
|
.addTag('Timesheets')
|
||||||
|
.addTag('Shifts')
|
||||||
|
.addTag('Leave Requests')
|
||||||
|
.addTag('Shift Codes')
|
||||||
|
.addTag('OAuth Access Tokens')
|
||||||
|
.addTag('Authorization')
|
||||||
|
.build();
|
||||||
|
|
||||||
//swagger config
|
|
||||||
const config = new DocumentBuilder()
|
|
||||||
.setTitle('Targo_Backend')
|
|
||||||
.setDescription('Documentation de l`API REST pour Targo (NestJS + Prisma)')
|
|
||||||
.setVersion('1.0')
|
|
||||||
.addBearerAuth({
|
|
||||||
type: 'http',
|
|
||||||
scheme: 'bearer',
|
|
||||||
bearerFormat: 'JWT',
|
|
||||||
name: 'Authorization',
|
|
||||||
description: 'Invalid JWT token',
|
|
||||||
in: 'header',
|
|
||||||
}, 'access-token')
|
|
||||||
.addTag('Users')
|
|
||||||
.addTag('Employees')
|
|
||||||
.addTag('Customers')
|
|
||||||
.addTag('Timesheets')
|
|
||||||
.addTag('Shifts')
|
|
||||||
.addTag('Leave Requests')
|
|
||||||
.addTag('Shift Codes')
|
|
||||||
.addTag('OAuth Access Tokens')
|
|
||||||
.addTag('Authorization')
|
|
||||||
.build();
|
|
||||||
|
|
||||||
//document builder for swagger docs
|
//document builder for swagger docs
|
||||||
const documentFactory = () => SwaggerModule.createDocument(app, config);
|
const documentFactory = () => SwaggerModule.createDocument(app, config);
|
||||||
const document = documentFactory()
|
const document = documentFactory()
|
||||||
SwaggerModule.setup('api/docs', app, document);
|
SwaggerModule.setup('api/docs', app, document);
|
||||||
writeFileSync('./docs/swagger/swagger-spec.json', JSON.stringify(document, null, 2));
|
writeFileSync('./docs/swagger/swagger-spec.json', JSON.stringify(document, null, 2));
|
||||||
|
|
||||||
// logs to be removed post dev
|
// logs to be removed post dev
|
||||||
console.log('[ENV.ATTACHMENTS_ROOT]', process.env.ATTACHMENTS_ROOT);
|
console.log('[ENV.ATTACHMENTS_ROOT]', process.env.ATTACHMENTS_ROOT);
|
||||||
console.log('[resolveAttachmentsRoot()]', resolveAttachmentsRoot());
|
console.log('[resolveAttachmentsRoot()]', resolveAttachmentsRoot());
|
||||||
console.log('[ATT_TMP_DIR()]', ATT_TMP_DIR());
|
console.log('[ATT_TMP_DIR()]', ATT_TMP_DIR());
|
||||||
|
|
||||||
await ensureAttachmentsTmpDir();
|
await ensureAttachmentsTmpDir();
|
||||||
await app.listen(process.env.PORT ?? 3000);
|
await app.listen(process.env.PORT ?? 3000);
|
||||||
}
|
}
|
||||||
bootstrap();
|
bootstrap();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user