goauthentik / goauthentik/authentik

Support configurable WebAuthn expected origins (native Android app support via android:apk-key-hash)

Open
#24,791 0 comments 0 reactions 0 assignees View on GitHub
enhancement/confirmed
Dominant language
Python
Stars
25.6k
Forks
2k
Avg merge
1d 2h
Merged PRs (30d)
651

Description

Native mobile apps calling WebAuthn/passkey APIs directly (not via browser) generate a non-HTTPS origin like `android:apk-key-hash:...`, which is spec-compliant but doesn't match any HTTPS URL. Since authentik currently only accepts its own request URL as a valid origin, it rejects all native in-app passkey authentication, so the code must be changed to accept a configurable set of additional trusted origins.

Add a configurable, multi-value "additional accepted origins" field (stage-level or provider-level) that gets merged with the existing request-derived HTTPS origin

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing request-derived origin validation and the stage/provider configuration definitions. Trace how origin settings are represented and merged, then inspect related authentication tests. Done means a multi-value additional-origins setting can be configured at the stated scope and native Android origins are accepted alongside the existing HTTPS origin.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authentication, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.