feat: feedback implemented

This commit is contained in:
mirarifhasan
2024-01-31 16:00:06 +06:00
committed by Andrew Bastin
parent 2ba79a043b
commit 9e9907b4be
5 changed files with 16 additions and 25 deletions

View File

@@ -19,7 +19,7 @@ export class MicrosoftStrategy extends PassportStrategy(Strategy) {
clientSecret: configService.get('INFRA.MICROSOFT_CLIENT_SECRET'),
callbackURL: configService.get('INFRA.MICROSOFT_CALLBACK_URL'),
scope: [configService.get('INFRA.MICROSOFT_SCOPE')],
tenant: configService.get('MICROSOFT_TENANT'),
tenant: configService.get('INFRA.MICROSOFT_TENANT'),
store: true,
});
}

View File

@@ -28,6 +28,7 @@ const AuthProviderConfigurations = {
InfraConfigEnum.MICROSOFT_CLIENT_SECRET,
InfraConfigEnum.MICROSOFT_CALLBACK_URL,
InfraConfigEnum.MICROSOFT_SCOPE,
InfraConfigEnum.MICROSOFT_TENANT,
],
[AuthProvider.EMAIL]: [
InfraConfigEnum.MAILER_SMTP_URL,

View File

@@ -21,7 +21,6 @@ import {
throwErr,
validateSMTPEmail,
validateSMTPUrl,
validateSSOScope,
validateUrl,
} from 'src/utils';
import { ConfigService } from '@nestjs/config';
@@ -106,6 +105,10 @@ export class InfraConfigService implements OnModuleInit {
name: InfraConfigEnum.MICROSOFT_SCOPE,
value: process.env.MICROSOFT_SCOPE,
},
{
name: InfraConfigEnum.MICROSOFT_TENANT,
value: process.env.MICROSOFT_TENANT,
},
{
name: InfraConfigEnum.VITE_ALLOWED_AUTH_PROVIDERS,
value: getConfiguredSSOProviders(),
@@ -278,7 +281,8 @@ export class InfraConfigService implements OnModuleInit {
configMap.MICROSOFT_CLIENT_ID &&
configMap.MICROSOFT_CLIENT_SECRET &&
configMap.MICROSOFT_CALLBACK_URL &&
configMap.MICROSOFT_SCOPE
configMap.MICROSOFT_SCOPE &&
configMap.MICROSOFT_TENANT
);
case AuthProvider.EMAIL:
return configMap.MAILER_SMTP_URL && configMap.MAILER_ADDRESS_FROM;
@@ -455,8 +459,7 @@ export class InfraConfigService implements OnModuleInit {
return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.GOOGLE_SCOPE:
if (!validateSSOScope(infraConfigs[i].value))
return E.left(INFRA_CONFIG_INVALID_INPUT);
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.GITHUB_CLIENT_ID:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
@@ -469,8 +472,7 @@ export class InfraConfigService implements OnModuleInit {
return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.GITHUB_SCOPE:
if (!validateSSOScope(infraConfigs[i].value))
return E.left(INFRA_CONFIG_INVALID_INPUT);
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.MICROSOFT_CLIENT_ID:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
@@ -483,8 +485,10 @@ export class InfraConfigService implements OnModuleInit {
return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.MICROSOFT_SCOPE:
if (!validateSSOScope(infraConfigs[i].value))
return E.left(INFRA_CONFIG_INVALID_INPUT);
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
case InfraConfigEnumForClient.MICROSOFT_TENANT:
if (!infraConfigs[i].value) return E.left(INFRA_CONFIG_INVALID_INPUT);
break;
default:
break;

View File

@@ -16,6 +16,7 @@ export enum InfraConfigEnum {
MICROSOFT_CLIENT_SECRET = 'MICROSOFT_CLIENT_SECRET',
MICROSOFT_CALLBACK_URL = 'MICROSOFT_CALLBACK_URL',
MICROSOFT_SCOPE = 'MICROSOFT_SCOPE',
MICROSOFT_TENANT = 'MICROSOFT_TENANT',
VITE_ALLOWED_AUTH_PROVIDERS = 'VITE_ALLOWED_AUTH_PROVIDERS',
@@ -42,6 +43,7 @@ export enum InfraConfigEnumForClient {
MICROSOFT_CLIENT_SECRET = 'MICROSOFT_CLIENT_SECRET',
MICROSOFT_CALLBACK_URL = 'MICROSOFT_CALLBACK_URL',
MICROSOFT_SCOPE = 'MICROSOFT_SCOPE',
MICROSOFT_TENANT = 'MICROSOFT_TENANT',
ALLOW_ANALYTICS_COLLECTION = 'ALLOW_ANALYTICS_COLLECTION',
IS_FIRST_TIME_INFRA_SETUP = 'IS_FIRST_TIME_INFRA_SETUP',

View File

@@ -193,22 +193,6 @@ export const validateUrl = (url: string) => {
return urlRegex.test(url);
};
/**
* Validate SSO (Google, Github, Microsoft) Scope
* @param scope The scope to validate
* @returns boolean
*/
export const validateSSOScope = (scope: string) => {
if (!scope || scope.length === 0) return false;
const scopes = scope.split(',');
scopes.forEach((aScope) => {
if (aScope.length === 0) return false;
});
return true;
};
/**
* String to JSON parser
* @param {str} str The string to parse