1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-05 23:53:33 +00:00

Compare commits

...

6 Commits

Author SHA1 Message Date
✨ Audrey ✨
37b8bf9f69 gonna keep on keeping on till the build works 2023-11-17 16:04:28 -05:00
✨ Audrey ✨
9a7d2e2f93 roll SDK forward to latest feature release 2023-11-17 15:52:59 -05:00
✨ Audrey ✨
e44c8ce7f3 experiment to check if exact version fixes build error 2023-11-17 15:44:15 -05:00
✨ Audrey ✨
8221f3b6f3 dotnet format 2023-11-17 09:03:49 -05:00
cubemike99
8faebde3ca Minor changes for readability 2023-11-14 19:43:07 -05:00
cubemike99
c8bbad9838 Send item domain name to fastmail
- Added a metadata field (forDomain:) to the Fastmail Forwarder API
  request that's set to the domain name of the item being added to the
  vault, or to "" if the username generator is being used in standalone
  mode. This allows the user's Fastmail account to display the domain
  name for the username that was generated.
2023-11-11 20:47:54 -05:00
4 changed files with 29 additions and 8 deletions

7
global.json Normal file
View File

@@ -0,0 +1,7 @@
{
"sdk": {
"version": "7.0.400",
"rollForward": "latestPatch",
"allowPrerelease": false
}
}

View File

@@ -46,7 +46,11 @@ namespace Bit.Core.Models.Domain
case ForwardedEmailServiceType.DuckDuckGo:
return new ForwarderOptions { ApiKey = DuckDuckGoApiKey };
case ForwardedEmailServiceType.Fastmail:
return new ForwarderOptions { ApiKey = FastMailApiKey };
return new FastmailForwarderOptions
{
ApiKey = FastMailApiKey,
Website = EmailWebsite
};
case ForwardedEmailServiceType.FirefoxRelay:
return new ForwarderOptions { ApiKey = FirefoxRelayApiAccessToken };
case ForwardedEmailServiceType.SimpleLogin:

View File

@@ -9,16 +9,21 @@ using Newtonsoft.Json.Linq;
namespace Bit.Core.Services.EmailForwarders
{
public class FastmailForwarder : BaseForwarder<ForwarderOptions>
public class FastmailForwarderOptions : ForwarderOptions
{
public string Website { get; set; }
}
public class FastmailForwarder : BaseForwarder<FastmailForwarderOptions>
{
protected override string RequestUri => "https://api.fastmail.com/jmap/api/";
protected override void ConfigureHeaders(HttpRequestHeaders headers, ForwarderOptions options)
protected override void ConfigureHeaders(HttpRequestHeaders headers, FastmailForwarderOptions options)
{
headers.Add("Authorization", $"Bearer {options.ApiKey}");
}
protected override async Task<HttpContent> GetContentAsync(IApiService apiService, ForwarderOptions options)
protected override async Task<HttpContent> GetContentAsync(IApiService apiService, FastmailForwarderOptions options)
{
string accountId = null;
try
@@ -55,7 +60,8 @@ namespace Bit.Core.Services.EmailForwarders
["state"] = "enabled",
["description"] = "",
["url"] = "",
["emailPrefix"] = ""
["emailPrefix"] = "",
["forDomain"] = options.Website ?? ""
}
}
},

View File

@@ -148,6 +148,13 @@ namespace Bit.Core.Services
.GenerateAsync(_apiService, forwardedEmailOptions);
}
if (options.ServiceType == ForwardedEmailServiceType.Fastmail)
{
var fastmailEmailOptions = (FastmailForwarderOptions)options.GetForwarderOptions();
return await new FastmailForwarder()
.GenerateAsync(_apiService, fastmailEmailOptions);
}
BaseForwarder<ForwarderOptions> simpleForwarder = null;
switch (options.ServiceType)
@@ -161,9 +168,6 @@ namespace Bit.Core.Services
case ForwardedEmailServiceType.DuckDuckGo:
simpleForwarder = new DuckDuckGoForwarder();
break;
case ForwardedEmailServiceType.Fastmail:
simpleForwarder = new FastmailForwarder();
break;
default:
_logger.Value.Error($"Error UsernameGenerationService: ForwardedEmailServiceType {options.ServiceType} not implemented.");
return Constants.DefaultUsernameGenerated;