feat: allow local auth provider
This commit is contained in:
parent
7b4cfb4103
commit
c8b7a172a4
4 changed files with 29 additions and 0 deletions
|
|
@ -27,6 +27,7 @@ export enum AuthProvider {
|
||||||
GITHUB = 'GITHUB',
|
GITHUB = 'GITHUB',
|
||||||
MICROSOFT = 'MICROSOFT',
|
MICROSOFT = 'MICROSOFT',
|
||||||
EMAIL = 'EMAIL',
|
EMAIL = 'EMAIL',
|
||||||
|
LOCAL = 'LOCAL',
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,7 @@ export function getAuthProviderRequiredKeys(
|
||||||
InfraConfigEnum.MICROSOFT_SCOPE,
|
InfraConfigEnum.MICROSOFT_SCOPE,
|
||||||
InfraConfigEnum.MICROSOFT_TENANT,
|
InfraConfigEnum.MICROSOFT_TENANT,
|
||||||
],
|
],
|
||||||
|
[AuthProvider.LOCAL]: [],
|
||||||
[AuthProvider.EMAIL]:
|
[AuthProvider.EMAIL]:
|
||||||
env['INFRA'].MAILER_USE_CUSTOM_CONFIGS === 'true'
|
env['INFRA'].MAILER_USE_CUSTOM_CONFIGS === 'true'
|
||||||
? [
|
? [
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import { PubSubService } from 'src/pubsub/pubsub.service';
|
||||||
import { ServiceStatus } from './helper';
|
import { ServiceStatus } from './helper';
|
||||||
import * as E from 'fp-ts/Either';
|
import * as E from 'fp-ts/Either';
|
||||||
import { UserService } from 'src/user/user.service';
|
import { UserService } from 'src/user/user.service';
|
||||||
|
import { AuthProvider } from 'src/auth/helper';
|
||||||
|
|
||||||
const mockPrisma = mockDeep<PrismaService>();
|
const mockPrisma = mockDeep<PrismaService>();
|
||||||
const mockConfigService = mockDeep<ConfigService>();
|
const mockConfigService = mockDeep<ConfigService>();
|
||||||
|
|
@ -295,6 +296,19 @@ describe('InfraConfigService', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('validateEnvValues', () => {
|
describe('validateEnvValues', () => {
|
||||||
|
describe('VITE_ALLOWED_AUTH_PROVIDERS', () => {
|
||||||
|
it('should accept LOCAL in VITE_ALLOWED_AUTH_PROVIDERS', () => {
|
||||||
|
const result = infraConfigService.validateEnvValues([
|
||||||
|
{
|
||||||
|
name: InfraConfigEnum.VITE_ALLOWED_AUTH_PROVIDERS,
|
||||||
|
value: 'LOCAL',
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
expect(result).toEqualRight(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('MAILER_SMTP_AUTH_TYPE', () => {
|
describe('MAILER_SMTP_AUTH_TYPE', () => {
|
||||||
it('should accept an empty value (defaults to login at runtime)', () => {
|
it('should accept an empty value (defaults to login at runtime)', () => {
|
||||||
const result = infraConfigService.validateEnvValues([
|
const result = infraConfigService.validateEnvValues([
|
||||||
|
|
@ -348,6 +362,17 @@ describe('InfraConfigService', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('isServiceConfigured', () => {
|
||||||
|
it('should consider LOCAL configured without external config', () => {
|
||||||
|
const result = infraConfigService.isServiceConfigured(
|
||||||
|
AuthProvider.LOCAL,
|
||||||
|
{},
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(result).toBe(true);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('getOnboardingConfig', () => {
|
describe('getOnboardingConfig', () => {
|
||||||
const RECOVERY_TOKEN = 'valid-recovery-token-123';
|
const RECOVERY_TOKEN = 'valid-recovery-token-123';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -321,6 +321,8 @@ export class InfraConfigService implements OnModuleInit, OnModuleDestroy {
|
||||||
} else {
|
} else {
|
||||||
return configMap.MAILER_SMTP_URL && configMap.MAILER_ADDRESS_FROM;
|
return configMap.MAILER_SMTP_URL && configMap.MAILER_ADDRESS_FROM;
|
||||||
}
|
}
|
||||||
|
case AuthProvider.LOCAL:
|
||||||
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue