Skip to content

Commit

Permalink
Asset Links for Android FIDO2
Browse files Browse the repository at this point in the history
  • Loading branch information
DestruidorPT committed Apr 24, 2021
1 parent edd4bc2 commit cee9e5b
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 0 deletions.
36 changes: 36 additions & 0 deletions util/Setup/AssetLinksBuilder.cs
@@ -0,0 +1,36 @@
using System;
using System.IO;

namespace Bit.Setup
{
public class AssetLinksBuilder
{
private readonly Context _context;

public AssetLinksBuilder(Context context)
{
_context = context;
}

public void Build()
{
var model = new TemplateModel
{
Url = _context.Config.Url
};

Helpers.WriteLine(_context, "Building Asset Links For Fido2.");
Directory.CreateDirectory("/bitwarden/web/");
var template = Helpers.ReadTemplate("AssetLinks");
using (var sw = File.CreateText("/bitwarden/web/assetlinks.json"))
{
sw.Write(template(model));
}
}

public class TemplateModel
{
public string Url { get; set; }
}
}
}
6 changes: 6 additions & 0 deletions util/Setup/Program.cs
Expand Up @@ -102,6 +102,9 @@ private static void Install()
var appIdBuilder = new AppIdBuilder(_context);
appIdBuilder.Build();

var assetLinksBuilder = new AssetLinksBuilder(_context);
assetLinksBuilder.Build();

var dockerComposeBuilder = new DockerComposeBuilder(_context);
dockerComposeBuilder.BuildForInstaller();

Expand Down Expand Up @@ -255,6 +258,9 @@ private static void RebuildConfigs()
var appIdBuilder = new AppIdBuilder(_context);
appIdBuilder.Build();

var assetLinksBuilder = new AssetLinksBuilder(_context);
assetLinksBuilder.Build();

var dockerComposeBuilder = new DockerComposeBuilder(_context);
dockerComposeBuilder.BuildForUpdater();

Expand Down
29 changes: 29 additions & 0 deletions util/Setup/Templates/AssetLinks.hbs
@@ -0,0 +1,29 @@
[
{
"relation":[
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target":{
"namespace":"web",
"site":"{{{Url}}}"
}
},
{
"relation":[
"delegate_permission/common.handle_all_urls",
"delegate_permission/common.get_login_creds"
],
"target":{
"namespace":"android_app",
"package_name":"com.x8bit.bitwarden",
"md5_cert_fingerprints":[
"35:"
],"sha1_cert_fingerprints":[
"3A:"
],"sha256_cert_fingerprints":[
"2C:"
]
}
}
]
11 changes: 11 additions & 0 deletions util/Setup/Templates/NginxConfig.hbs
Expand Up @@ -84,6 +84,17 @@ server {
add_header Content-Type $fido_content_type;
}

location = /.well-known/assetlinks.json {
proxy_pass http://web:5000/assetlinks.json;
{{#if Ssl}}
include /etc/nginx/security-headers-ssl.conf;
{{/if}}
include /etc/nginx/security-headers.conf;
proxy_hide_header Content-Type;
add_header Content-Type application/json;

}

location = /duo-connector.html {
proxy_pass http://web:5000/duo-connector.html;
}
Expand Down

0 comments on commit cee9e5b

Please sign in to comment.