UNPKG

@qelos/auth

Version:

Express Passport authentication service

32 lines (31 loc) 1.14 kB
import { callContentService } from './content-service-api'; import { cacheManager } from './cache-manager'; import { IAuthConfigurationMetadata } from '@qelos/global-types'; export async function getAuthConfiguration(tenant: string): Promise<IAuthConfigurationMetadata> { return cacheManager.wrap('auth-configuration:' + tenant, async () => { let value: any; try { const config = await callContentService('/internal-api/configurations/auth-configuration', tenant); value = config.metadata || { treatUsernameAs: 'email', formPosition: 'right', showLoginPage: true, showRegisterPage: false, allowSocialAutoRegistration: true, additionalUserFields: [], socialLoginsSources: {}, }; } catch { value = { treatUsernameAs: 'email', formPosition: 'right', showLoginPage: true, showRegisterPage: false, allowSocialAutoRegistration: true, additionalUserFields: [], socialLoginsSources: {}, }; } return JSON.stringify(value); }, { ttl: 60 * 5 /* 5 minutes */ }).then(JSON.parse); }