kanidm / webauthn-rs

An implementation of webauthn components for Rustlang servers
Mozilla Public License 2.0
488 stars 80 forks source link

Actix tutorial fails to finish registration in Safari #394

Closed bjenkinsgit closed 10 months ago

bjenkinsgit commented 10 months ago

I did this

I expected the following

I expected the registration to succeed and the page to refresh with the button changing from "Registration" to "Authentication" for the registered user. And then for the authentication flow to work and tell me "It Works"

What actually happened

Version (and git commit)

"git log --oneline" reports:

a0cb1e8 (HEAD -> master, origin/master, origin/HEAD) Port from axum-sessions to tower-sessions (#389)

Operating System / Version

Apple Air laptop with M2 silicon, OS is Sonoma 14.1.1 with Safari Version 17.1 (19616.2.9.11.7)

Any other comments

The whole flow works PERFECTLY in Chrome.

Firstyear commented 10 months ago

Does it work on the axum demo?

Given the line this fails on, it appears to be a fault somewhere in sessions for actix, rather than in the webauth code which makes it even more suspicious.

bjenkinsgit commented 10 months ago

Axum tutorial didn't work at all. I don't know if I missed a step or what. The demo (not to be confused with tutorial) that DOES work is written in Tide and that works fine. But I would rather not rewrite my entire web server in Tide just to make webauthn work and I don't wan't to have to force my users to use a specific web browser (Chrome). I'm going to try to dive deeper into Actix sessions to see if I can figure it out.

yaleman commented 10 months ago

Cookie gen and session handling was busted so I fixed a bunch of stuff in #395