diff --git a/src/Bulwark.Auth/.env b/src/Bulwark.Auth/.env index 9c400a5..ca2a666 100644 --- a/src/Bulwark.Auth/.env +++ b/src/Bulwark.Auth/.env @@ -1,6 +1,9 @@ DB_CONNECTION=mongodb://localhost:27017 DB_NAME_SEED= GOOGLE_CLIENT_ID=651882111548-0hrg7e4o90q1iutmfn02qkf9m90k3d3g.apps.googleusercontent.com +MICROSOFT_CLIENT_ID=3e3b3b3b-3b3b-3b3b-3b3b-3b3b3b3b3b3b +MICROSOFT_TENANT_ID=3e3b3b3b-3b3b-3b3b-3b3b-3b3b3b3b3b3b +GITHUB_APP_NAME=lateflip.io DOMAIN=lateflip.io WEBSITE_NAME=Lateflip EMAIL_TEMPLATE_DIR=src/bulwark-admin-api/email-templates diff --git a/src/Bulwark.Auth/Program.cs b/src/Bulwark.Auth/Program.cs index bac11d1..df27723 100644 --- a/src/Bulwark.Auth/Program.cs +++ b/src/Bulwark.Auth/Program.cs @@ -63,6 +63,7 @@ { dbName = $"{dbName}-{Environment.GetEnvironmentVariable("DB_SEED")}"; } + var passwordPolicyService = new PasswordPolicyService(); var passwordLength = new PasswordLength(8, 512); passwordPolicyService.Add(passwordLength); @@ -88,12 +89,35 @@ applicationBuilder.Services.AddTransient(); applicationBuilder.Services.AddTransient(); applicationBuilder.Services.AddTransient(); - //social startup -var googleValidator = new GoogleValidator(Environment - .GetEnvironmentVariable("GOOGLE_CLIENT_ID")); var socialValidators = new ValidatorStrategies(); -socialValidators.Add(googleValidator); + +if (Environment.GetEnvironmentVariable(Environment + .GetEnvironmentVariable("GOOGLE_CLIENT_ID")) != null) +{ + var googleValidator = new GoogleValidator(Environment + .GetEnvironmentVariable("GOOGLE_CLIENT_ID")); + socialValidators.Add(googleValidator); +} + +if (Environment.GetEnvironmentVariable(Environment + .GetEnvironmentVariable("MICROSOFT_CLIENT_ID")) != null && + Environment.GetEnvironmentVariable("MICROSOFT_TENANT_ID") != null) +{ + var microSoftValidator = new MicrosoftValidator(Environment + .GetEnvironmentVariable("MICROSOFT_CLIENT_ID"), + Environment.GetEnvironmentVariable("MICROSOFT_TENANT_ID")); + socialValidators.Add(microSoftValidator); +} + +if (Environment.GetEnvironmentVariable(Environment + .GetEnvironmentVariable("GITHUB_APP_NAME")) != null ) +{ + var gitHubValidator = new GithubValidator(Environment + .GetEnvironmentVariable("GITHUB_APP_NAME")); + socialValidators.Add(gitHubValidator); +} + applicationBuilder.Services.AddSingleton(socialValidators); applicationBuilder.Services.AddTransient(); //end of social startup