Created
July 12, 2020 16:23
-
-
Save ever-dev/604911244716ba0bb9112f8d930725c5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Microsoft.Extensions.Options; | |
using System.Threading.Tasks; | |
using Twilio; | |
using Twilio.Rest.Api.V2010.Account; | |
using Twilio.Types; | |
namespace Web2FA.Services | |
{ | |
// This class is used by the application to send Email and SMS | |
// when you turn on two-factor authentication in ASP.NET Identity. | |
// For more details see this link https://go.microsoft.com/fwlink/?LinkID=532713 | |
public class AuthMessageSender : IEmailSender, ISmsSender | |
{ | |
public AuthMessageSender(IOptions<SMSoptions> optionsAccessor) | |
{ | |
Options = optionsAccessor.Value; | |
} | |
public SMSoptions Options { get; } // set only via Secret Manager | |
public Task SendEmailAsync(string email, string subject, string message) | |
{ | |
// Plug in your email service here to send an email. | |
return Task.FromResult(0); | |
} | |
public Task SendSmsAsync(string number, string message) | |
{ | |
// Plug in your SMS service here to send a text message. | |
// Your Account SID from twilio.com/console | |
var accountSid = Options.SMSAccountIdentification; | |
// Your Auth Token from twilio.com/console | |
var authToken = Options.SMSAccountPassword; | |
TwilioClient.Init(accountSid, authToken); | |
return MessageResource.CreateAsync( | |
to: new PhoneNumber(number), | |
from: new PhoneNumber(Options.SMSAccountFrom), | |
body: message); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
namespace Web2FA.Services | |
{ | |
public class SMSoptions | |
{ | |
public string SMSAccountIdentification { get; set; } | |
public string SMSAccountPassword { get; set; } | |
public string SMSAccountFrom { get; set; } | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment