public static ApplicationDbContext Create() { // todo add settings where appropriate to switch server & database in your own application var baseConnectionString = WebConfigExtensions.GetFromAppSettings("MongoDB-ConnectionString"); var user = WebConfigExtensions.GetFromAppSettings("MongoDB-User"); var password = WebConfigExtensions.GetFromAppSettings("MongoDB-Password"); var mongoDatabase = WebConfigExtensions.GetFromAppSettings("MongoDB-Database"); string credentials; if (!String.IsNullOrEmpty(user) && !String.IsNullOrEmpty(password)) { credentials = user + ":" + password + "@"; } else { credentials = ""; } var mongoClient = new MongoClient(credentials + baseConnectionString); var database = mongoClient.GetServer().GetDatabase(mongoDatabase); var users = database.GetCollection <IdentityUser>("aspnet-identity-users"); var roles = database.GetCollection <IdentityRole>("aspnet-identity-roles"); var claims = database.GetCollection <IdentityUserClaim>("aspnet-identity-claims"); var client = database.GetCollection <IdentityClient>("aspnet-identity-client"); return(new ApplicationDbContext(users, roles, claims, client)); }
public EmailService() { IsEnabled = WebConfigExtensions.GetFromAppSettings("EmailService-Enabled").TryParseBool(); if (!IsEnabled) { return; } SenderEmail = WebConfigExtensions.GetFromAppSettings("EmailService-SenderEmail"); SenderName = WebConfigExtensions.GetFromAppSettings("EmailService-SenderName"); Subject = WebConfigExtensions.GetFromAppSettings("EmailService-Subject"); User = WebConfigExtensions.GetFromAppSettings("EmailService-LoginUser"); Password = WebConfigExtensions.GetFromAppSettings("EmailService-LoginPassword"); }
public Task SendAsync(IdentityMessage message) { var isEnabled = WebConfigExtensions.GetFromAppSettings("SmsService-Enabled").TryParseBool(); if (!isEnabled) { return(Task.FromResult(0)); } // Utilizando TWILIO como SMS Provider. // https://www.twilio.com/docs/quickstart/csharp/sms/sending-via-rest string accountSid = WebConfigExtensions.GetFromAppSettings("SmsService-AccountSid"); string authToken = WebConfigExtensions.GetFromAppSettings("SmsService-AuthToken"); string phoneNumber = WebConfigExtensions.GetFromAppSettings("SmsService-PhoneNumber"); var client = new TwilioRestClient(accountSid, authToken); client.SendMessage(phoneNumber, message.Destination, message.Body); return(Task.FromResult(0)); }
/// <summary> /// Implementação de e-mail manual /// </summary> private Task SendMail(IdentityMessage message) { var smtpHost = WebConfigExtensions.GetFromAppSettings("EmailService-SmtpHost"); var smtpPort = WebConfigExtensions.GetFromAppSettings("EmailService-SmtpPort").TryParseInt(); var mailMessage = new MailMessage(); var text = HttpUtility.HtmlEncode(message.Body); mailMessage.To.Add(new MailAddress(message.Destination)); mailMessage.Subject = Subject; mailMessage.From = new MailAddress(SenderEmail, SenderName); mailMessage.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null, MediaTypeNames.Text.Plain)); mailMessage.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null, MediaTypeNames.Text.Html)); var smtpClient = new SmtpClient { UseDefaultCredentials = false, DeliveryMethod = SmtpDeliveryMethod.Network, EnableSsl = true, Port = smtpPort, Host = smtpHost, Credentials = new NetworkCredential(User, Password) }; try { smtpClient.Send(mailMessage); } catch (Exception e) { Debug.WriteLine(e); } return(Task.FromResult(0)); }
private void SetSocialLogins(ref IAppBuilder app) { #region Microsoft Account var microsoftLoginEnabled = WebConfigExtensions.GetFromAppSettings("MicrosoftLogin-Enabled").TryParseBool(); if (microsoftLoginEnabled) { app.UseMicrosoftAccountAuthentication( clientId: WebConfigExtensions.GetFromAppSettings("MicrosoftLogin-Id"), clientSecret: WebConfigExtensions.GetFromAppSettings("MicrosoftLogin-Secret")); } #endregion #region Twitter var twitterLoginEnabled = WebConfigExtensions.GetFromAppSettings("TwitterLogin-Enabled").TryParseBool(); if (twitterLoginEnabled) { app.UseTwitterAuthentication( consumerKey: WebConfigExtensions.GetFromAppSettings("TwitterLogin-Key"), consumerSecret: WebConfigExtensions.GetFromAppSettings("TwitterLogin-Secret")); } #endregion #region Google var googleLoginEnabled = WebConfigExtensions.GetFromAppSettings("GoogleLogin-Enabled").TryParseBool(); if (googleLoginEnabled) { app.UseGoogleAuthentication( clientId: WebConfigExtensions.GetFromAppSettings("GoogleLogin-Id"), clientSecret: WebConfigExtensions.GetFromAppSettings("GoogleLogin-Secret")); } #endregion #region Facebook var facebookLoginEnabled = WebConfigExtensions.GetFromAppSettings("FacebookLogin-Enabled").TryParseBool(); if (facebookLoginEnabled) { var fao = new FacebookAuthenticationOptions { AppId = WebConfigExtensions.GetFromAppSettings("FacebookLogin-Id"), AppSecret = WebConfigExtensions.GetFromAppSettings("FacebookLogin-Secret") }; fao.Scope.Add("email"); fao.Scope.Add("basic_info"); fao.Provider = new FacebookAuthenticationProvider() { OnAuthenticated = (context) => { context.Identity.AddClaim(new System.Security.Claims.Claim("urn:facebook:access_token", context.AccessToken, XmlSchemaString, "Facebook")); foreach (var x in context.User) { var claimType = string.Format("urn:facebook:{0}", x.Key); string claimValue = x.Value.ToString(); if (!context.Identity.HasClaim(claimType, claimValue)) { context.Identity.AddClaim(new System.Security.Claims.Claim(claimType, claimValue, XmlSchemaString, "Facebook")); } } return(Task.FromResult(0)); } }; fao.SignInAsAuthenticationType = DefaultAuthenticationTypes.ExternalCookie; app.UseFacebookAuthentication(fao); } #endregion }