chore: handled internal server error for missing auth providers

This commit is contained in:
Mir Arif Hasan
2023-07-28 18:26:42 +06:00
committed by Andrew Bastin
parent 092cb4c3a5
commit c79fcbeceb
3 changed files with 36 additions and 6 deletions

View File

@@ -1,8 +1,16 @@
import { ExecutionContext, Injectable } from '@nestjs/common';
import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper';
@Injectable()
export class GithubSSOGuard extends AuthGuard('github') {
export class GithubSSOGuard extends AuthGuard('github') implements CanActivate {
canActivate(context: ExecutionContext): boolean {
if (!authProviderCheck(AuthProvider.GITHUB))
throwHTTPErr({ message: 'GitHub auth is not enabled', statusCode: 404 });
return true;
}
getAuthenticateOptions(context: ExecutionContext) {
const req = context.switchToHttp().getRequest();

View File

@@ -1,8 +1,16 @@
import { ExecutionContext, Injectable } from '@nestjs/common';
import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper';
@Injectable()
export class GoogleSSOGuard extends AuthGuard('google') {
export class GoogleSSOGuard extends AuthGuard('google') implements CanActivate {
canActivate(context: ExecutionContext): boolean {
if (!authProviderCheck(AuthProvider.GOOGLE))
throwHTTPErr({ message: 'Google auth is not enabled', statusCode: 404 });
return true;
}
getAuthenticateOptions(context: ExecutionContext) {
const req = context.switchToHttp().getRequest();

View File

@@ -1,8 +1,22 @@
import { ExecutionContext, Injectable } from '@nestjs/common';
import { CanActivate, ExecutionContext, Injectable } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import { AuthProvider, authProviderCheck, throwHTTPErr } from '../helper';
@Injectable()
export class MicrosoftSSOGuard extends AuthGuard('microsoft') {
export class MicrosoftSSOGuard
extends AuthGuard('microsoft')
implements CanActivate
{
canActivate(context: ExecutionContext): boolean {
if (!authProviderCheck(AuthProvider.MICROSOFT))
throwHTTPErr({
message: 'Microsoft auth is not enabled',
statusCode: 404,
});
return true;
}
getAuthenticateOptions(context: ExecutionContext) {
const req = context.switchToHttp().getRequest();