[GH-ISSUE #2014] WebAuthn implementation bitwarden app #1124

Closed
opened 2026-03-03 02:06:27 +03:00 by kerem · 2 comments
Owner

Originally created by @kaasszje on GitHub (Oct 1, 2021).
Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/2014

The new bitwarden android app (version 2.13.0)
Has an update on authentication:
Added WebAuthn/FIDO2/U2F as supported 2FA option for app login

However when the app tries to make use of this it calls to:
/webauthn-mobile-connector.html on the webserver.

Which is generate a http 404 because it's not available.
(Html file is not there)

Support string:

Your environment (Generated via diagnostics page)

  • Vaultwarden version: v1.22.2
  • Web-vault version: v2.21.1
  • Running within Docker: true
  • Environment settings overridden: false
  • Uses a reverse proxy: true
  • IP Header check: true (X-Real-IP)
  • Internet access: true
  • Internet access via a proxy: false
  • DNS Check: true
  • Time Check: true
  • Domain Configuration Check: true
  • HTTPS Check: true
  • Database type: SQLite
  • Database version: 3.35.4
  • Clients used:
  • Reverse proxy and version:
  • Other relevant information:

Config (Generated via diagnostics page)

Show Running Config

Environment settings which are overridden:

{
  "_duo_akey": null,
  "_enable_duo": false,
  "_enable_email_2fa": false,
  "_enable_smtp": true,
  "_enable_yubico": false,
  "_ip_header_enabled": true,
  "admin_token": "***",
  "allowed_iframe_ancestors": "",
  "attachments_folder": "data/attachments",
  "authenticator_disable_time_drift": false,
  "data_folder": "data",
  "database_max_conns": 10,
  "database_url": "****/**.*******",
  "db_connection_retries": 15,
  "disable_2fa_remember": false,
  "disable_admin_token": false,
  "disable_icon_download": false,
  "domain": "*****://*****.***-*********.**",
  "domain_origin": "*****://*****.***-*********.**",
  "domain_path": "",
  "domain_set": true,
  "duo_host": null,
  "duo_ikey": null,
  "duo_skey": null,
  "email_attempts_limit": 3,
  "email_expiration_time": 600,
  "email_token_size": 6,
  "enable_db_wal": true,
  "extended_logging": true,
  "helo_name": null,
  "hibp_api_key": null,
  "icon_blacklist_non_global_ips": true,
  "icon_blacklist_regex": null,
  "icon_cache_folder": "data/icon_cache",
  "icon_cache_negttl": 259200,
  "icon_cache_ttl": 2592000,
  "icon_download_timeout": 10,
  "invitations_allowed": true,
  "ip_header": "X-Real-IP",
  "job_poll_interval_ms": 30000,
  "log_file": null,
  "log_level": "Info",
  "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f",
  "org_attachment_limit": null,
  "org_creation_users": "",
  "password_iterations": 100000,
  "reload_templates": false,
  "require_device_email": false,
  "rsa_key_filename": "data/rsa_key",
  "send_purge_schedule": "0 5 * * * *",
  "sends_allowed": true,
  "sends_folder": "data/sends",
  "show_password_hint": true,
  "signups_allowed": false,
  "signups_domains_whitelist": "",
  "signups_verify": false,
  "signups_verify_resend_limit": 6,
  "signups_verify_resend_time": 3600,
  "smtp_accept_invalid_certs": false,
  "smtp_accept_invalid_hostnames": false,
  "smtp_auth_mechanism": null,
  "smtp_debug": false,
  "smtp_explicit_tls": false,
  "smtp_from": "*********@***-*********.**",
  "smtp_from_name": "Bitwarden_RS",
  "smtp_host": "****.*****.**",
  "smtp_password": "***",
  "smtp_port": 587,
  "smtp_ssl": true,
  "smtp_timeout": 15,
  "smtp_username": "*.*.*********@*****.**",
  "templates_folder": "data/templates",
  "trash_auto_delete_days": null,
  "trash_purge_schedule": "0 5 0 * * *",
  "use_syslog": false,
  "user_attachment_limit": null,
  "web_vault_enabled": true,
  "web_vault_folder": "web-vault/",
  "websocket_address": "0.0.0.0",
  "websocket_enabled": true,
  "websocket_port": 3012,
}
Originally created by @kaasszje on GitHub (Oct 1, 2021). Original GitHub issue: https://github.com/dani-garcia/vaultwarden/issues/2014 The new bitwarden android app (version 2.13.0) Has an update on authentication: Added WebAuthn/FIDO2/U2F as supported 2FA option for app login However when the app tries to make use of this it calls to: /webauthn-mobile-connector.html on the webserver. Which is generate a http 404 because it's not available. (Html file is not there) Support string: ### Your environment (Generated via diagnostics page) * Vaultwarden version: v1.22.2 * Web-vault version: v2.21.1 * Running within Docker: true * Environment settings overridden: false * Uses a reverse proxy: true * IP Header check: true (X-Real-IP) * Internet access: true * Internet access via a proxy: false * DNS Check: true * Time Check: true * Domain Configuration Check: true * HTTPS Check: true * Database type: SQLite * Database version: 3.35.4 * Clients used: * Reverse proxy and version: * Other relevant information: ### Config (Generated via diagnostics page) <details><summary>Show Running Config</summary> **Environment settings which are overridden:** ```json { "_duo_akey": null, "_enable_duo": false, "_enable_email_2fa": false, "_enable_smtp": true, "_enable_yubico": false, "_ip_header_enabled": true, "admin_token": "***", "allowed_iframe_ancestors": "", "attachments_folder": "data/attachments", "authenticator_disable_time_drift": false, "data_folder": "data", "database_max_conns": 10, "database_url": "****/**.*******", "db_connection_retries": 15, "disable_2fa_remember": false, "disable_admin_token": false, "disable_icon_download": false, "domain": "*****://*****.***-*********.**", "domain_origin": "*****://*****.***-*********.**", "domain_path": "", "domain_set": true, "duo_host": null, "duo_ikey": null, "duo_skey": null, "email_attempts_limit": 3, "email_expiration_time": 600, "email_token_size": 6, "enable_db_wal": true, "extended_logging": true, "helo_name": null, "hibp_api_key": null, "icon_blacklist_non_global_ips": true, "icon_blacklist_regex": null, "icon_cache_folder": "data/icon_cache", "icon_cache_negttl": 259200, "icon_cache_ttl": 2592000, "icon_download_timeout": 10, "invitations_allowed": true, "ip_header": "X-Real-IP", "job_poll_interval_ms": 30000, "log_file": null, "log_level": "Info", "log_timestamp_format": "%Y-%m-%d %H:%M:%S.%3f", "org_attachment_limit": null, "org_creation_users": "", "password_iterations": 100000, "reload_templates": false, "require_device_email": false, "rsa_key_filename": "data/rsa_key", "send_purge_schedule": "0 5 * * * *", "sends_allowed": true, "sends_folder": "data/sends", "show_password_hint": true, "signups_allowed": false, "signups_domains_whitelist": "", "signups_verify": false, "signups_verify_resend_limit": 6, "signups_verify_resend_time": 3600, "smtp_accept_invalid_certs": false, "smtp_accept_invalid_hostnames": false, "smtp_auth_mechanism": null, "smtp_debug": false, "smtp_explicit_tls": false, "smtp_from": "*********@***-*********.**", "smtp_from_name": "Bitwarden_RS", "smtp_host": "****.*****.**", "smtp_password": "***", "smtp_port": 587, "smtp_ssl": true, "smtp_timeout": 15, "smtp_username": "*.*.*********@*****.**", "templates_folder": "data/templates", "trash_auto_delete_days": null, "trash_purge_schedule": "0 5 0 * * *", "use_syslog": false, "user_attachment_limit": null, "web_vault_enabled": true, "web_vault_folder": "web-vault/", "websocket_address": "0.0.0.0", "websocket_enabled": true, "websocket_port": 3012, } ``` </details>
kerem closed this issue 2026-03-03 02:06:27 +03:00
Author
Owner

@BlackDex commented on GitHub (Oct 1, 2021):

Already solved in the current testing image on docker hub by using the web-vault v2.23.0.

<!-- gh-comment-id:932085633 --> @BlackDex commented on GitHub (Oct 1, 2021): Already solved in the current `testing` image on docker hub by using the web-vault v2.23.0.
Author
Owner

@d4mation commented on GitHub (Oct 12, 2021):

This seems like it may still be at least partially broken in testing. The page exists now so the 404 does not happen, but the app gets a Can't recover login challenge error returned to it.

Here's the relevant portion I found in the Logs:

[2021-10-12 14:23:32.152][request][INFO] POST /identity/connect/token
[2021-10-12 14:23:32.203][vaultwarden::api::core::two_factor::webauthn][ERROR] Can't recover login challenge
[2021-10-12 14:23:32.203][response][INFO] POST /identity/connect/token (login) => 400 Bad Request

Edit: Strangely it works now? Nothing is different with my setup that I'm aware of. I guess ignore this ¯\_(ツ)_/¯

<!-- gh-comment-id:941267178 --> @d4mation commented on GitHub (Oct 12, 2021): This seems like it may still be at least partially broken in `testing`. The page exists now so the 404 does not happen, but the app gets a `Can't recover login challenge` error returned to it. Here's the relevant portion I found in the Logs: ``` [2021-10-12 14:23:32.152][request][INFO] POST /identity/connect/token [2021-10-12 14:23:32.203][vaultwarden::api::core::two_factor::webauthn][ERROR] Can't recover login challenge [2021-10-12 14:23:32.203][response][INFO] POST /identity/connect/token (login) => 400 Bad Request ``` Edit: Strangely it works now? Nothing is different with my setup that I'm aware of. I guess ignore this ¯\\_(ツ)\_/¯
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/vaultwarden#1124
No description provided.