android / android/security-samples
Fido auth with Android SDK. Error from a server: invalid origin
- Vorherrschende Sprache
- Kotlin
- Sterne
- 1k
- Forks
- 450
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
I use a FIDO android SDK https://developers.google.com/android/reference/com/google/android/gms/fido/package-summary and
web FIDO lib https://github.com/lbuchs/WebAuthn as a server
To complete authentication I send to the server the following payload:
```{"authenticatorData":"uGLTOEtQtBsB4wjhEvR0ZVayRWn/3mhUyp6dqFFY0a8BAAABDQ==","clientDataJSON":"eyJ0eXBlIjoid2ViYXV0aG4uZ2V0IiwiY2hhbGxlbmdlIjoiLW9zc3JiYXY3SmhmUWlQY1ZlMzFkdDQxMG5ZWHVvWW9kM1FYdHc5VmlIUSIsIm9yaWdpbiI6ImFuZHJvaWQ6YXBrLWtleS1oYXNoOmZiRU5UdkNTZVItQXdKVjVycnJCc2I5OHAtakV3MGM1U1NPTXVsX0t3YUkiLCJhbmRyb2lkUGFja2FnZU5hbWUiOiJjb20uYWZ0ZXJsb2dpYy5hdXJvcmEubWFpbCIsInRva2VuQmluZGluZyI6eyJzdGF0dXMiOiJwcmVzZW50IiwiaWQiOiJodHRwczpcL1wvdGVzdC5hZnRlcmxvZ2ljLmNvbSJ9fQ==","id":"LEBlQOlamqsmKzRBPQe9y0BFN5IaQ5BBB1ByiDH85HulzCYQTffqeK0RQDoZqUO7syGZY+hkfWf9P2FiQQ3eVA==","signature":"MEUCICFf8qFGiXxGTBokpstfUsCwbd7JTsLlDrFZoGMi3tZzAiEA0zAXxFDeqA7gF6YahudK+LD2gDUPtAnXqgAvvhVc/vE="}```
The field ```clientDataJSON``` contains a base64-encrypted JSON object that has property ```"origin":"android:apk-key-hash:fbENTvCSeR-AwJV5rrrBsb98p-jEw0c5SSOMul_KwaI"```
But the server responds with an error "invalid origin".
At the same time, my web FIDO auth implementation sends ```clientDataJSON``` with ```"origin":"https://test.afterlogic.com"``` and everything is working fine in this case.
How I can verify origin with android:apk-key-hash on the webserver? I will be appreciated any other ideas on how to deal with this.
Beitragsleitfaden
Rechercherichtung
Beginne damit, das bereitgestellte clientDataJSON zu decodieren, und vergleiche seinen android:apk-key-hash-Ursprung mit der vom WebAuthn-Server verwendeten origin-Validierung. Lies die verlinkte Referenz zum Android FIDO SDK und die Dokumentation des WebAuthn-Servers, um festzustellen, ob diese origin unterstützt wird und wie sie verifiziert werden sollte. Erledigt ist die Aufgabe, wenn eine unterstützte Verifizierung identifiziert oder die Inkompatibilität dokumentiert wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android
- Bereich
- authentication, security
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100