mirror of
https://github.com/bitwarden/server.git
synced 2025-07-04 09:32:48 -05:00
passwordless signin email
This commit is contained in:
@ -153,6 +153,19 @@ namespace Bit.Core.Services
|
||||
}
|
||||
}
|
||||
|
||||
public async Task SendPasswordlessSignInAsync(string baseUrl, string token, string email)
|
||||
{
|
||||
try
|
||||
{
|
||||
await _primaryMailService.SendPasswordlessSignInAsync(baseUrl, token, email);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
LogError(e);
|
||||
await _backupMailService.SendPasswordlessSignInAsync(baseUrl, token, email);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task SendWelcomeEmailAsync(User user)
|
||||
{
|
||||
try
|
||||
|
@ -170,6 +170,19 @@ namespace Bit.Core.Services
|
||||
await _mailDeliveryService.SendEmailAsync(message);
|
||||
}
|
||||
|
||||
public async Task SendPasswordlessSignInAsync(string baseUrl, string token, string email)
|
||||
{
|
||||
var model = new Dictionary<string, string>
|
||||
{
|
||||
["url"] = string.Format("{0}?email={1}&token={2}", baseUrl, WebUtility.UrlEncode(email),
|
||||
WebUtility.UrlEncode(token))
|
||||
};
|
||||
|
||||
var message = await CreateMessageAsync("Continue Logging In", email, "PasswordlessSignIn", model);
|
||||
message.MetaData.Add("SendGridBypassListManagement", true);
|
||||
await _mailDeliveryService.SendEmailAsync(message);
|
||||
}
|
||||
|
||||
private async Task<MailMessage> CreateMessageAsync(string subject, string toEmail, string fileName,
|
||||
Dictionary<string, string> model)
|
||||
{
|
||||
|
@ -203,6 +203,19 @@ namespace Bit.Core.Services
|
||||
await _mailDeliveryService.SendEmailAsync(message);
|
||||
}
|
||||
|
||||
public async Task SendPasswordlessSignInAsync(string baseUrl, string token, string email)
|
||||
{
|
||||
var message = CreateDefaultMessage("Continue Logging In", email);
|
||||
var model = new PasswordlessSignInModel
|
||||
{
|
||||
Url = string.Format("{0}?email={1}&token={2}", baseUrl, WebUtility.UrlEncode(email),
|
||||
WebUtility.UrlEncode(token))
|
||||
};
|
||||
message.HtmlContent = await _engine.CompileRenderAsync("PasswordlessSignIn", model);
|
||||
message.TextContent = await _engine.CompileRenderAsync("PasswordlessSignIn.text", model);
|
||||
await _mailDeliveryService.SendEmailAsync(message);
|
||||
}
|
||||
|
||||
private MailMessage CreateDefaultMessage(string subject, string toEmail)
|
||||
{
|
||||
return CreateDefaultMessage(subject, new List<string> { toEmail });
|
||||
|
Reference in New Issue
Block a user