-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup instruction are not working #6
Comments
If you want to use both Platform and Cross Platform don't include this to the settings file.
Which file are you talking about?
Nope, this |
Sorry, for not reading until the end. I would recommend structuring the setup instructions differently, tho.
|
Sure. You can do a PR request if you like. |
Okay, let me finish the integration first. :D But you have to help out for point one. I have no clue what KEY_ATTACHMENT does and what the different options are. |
In webAuthn, there are 2 types of authenticators
Note: Currently in Passkeys all the platform authicators keys are synced to the vendors cloud so the user can use it on another device. e.g Apple Device in case of apple id or the user Google account if Android or Chrome. |
So that actually means even when I choose platform it will actually be cross platform? Did I understand that correctly? |
Easier to say, use cross-platform if you want to only use security keys like Yubico. Use Platform when you use the mobile or laptop authenticators. |
But above you said "allows the user to roam between devices" which means you are not forced to. So cross platform means platform plus 3rd party devices like Yubico? Is that a correct statement? |
Cross platform means the device shall be able to roam like Yubico. Platform authenticator are the ones connected to the devices. |
okay, finally i was able to login via passkey! 🥳 Cleaning this up will take some time. But lets see what i end up with. I definitely want to add passkeys to my new app! (maybe also all old ones :D) Here are my key findings as a short reminder:
I hope i didnt forget mayor things, but with all the above considered the onboarding for django-passkeys should be much smoother! I need some more time to actually create a PR from this. |
I also had troubles with KEY_ATTACHMENT. Devs new to passkeys usually do not have a clue what to use and just copy and pasting from the readme resulted in incorrect Python. So this should look like that in the readme:
|
Some explanation on what |
It is there in README FIDO_SERVER_ID="localhost" # Server rp id for FIDO2, it the full domain of your project
FIDO_SERVER_NAME="TestApp" |
So the django app is the FIDO server? If this were a production site, then it would be e.g. "mydjangosite.com"? Is the server name important? Apologies as I have very little knowledge about the passkeys except what I know about ssl keys and how we use them e.g. to log into servers. |
Server_ID shall match or submatch for your current domain so if you run your application on app.example.com it shall be the same or example.com Sever_Name is how the key named on the authenticator so the user can find it in the keychain or authenticator keys list |
Hi!
I just wanted to try to add passkeys to my app, but following the instructions i get some errors.
NONE is not defined or referenced. And if i change it to the Python internal None i get this:
TypeError: unsupported operand type(s) for |: 'NoneType' and 'AuthenticatorAttachment'
Anyway, even using or operand this instruction seems to have no effect since None or anything will always be anything, so stripped it down to "KEY_ATTACHMENT = passkeys.Attachment.CROSS_PLATFORM | passkeys.Attachment.PLATFORM".
I currently down know what it is doing, but i guess it should work the same as before.
url() is outdated and should be replaced with path()
The passkeys/ index view is annotated with @login_required .. to me this makes no sense, since this IS or at least SHOULD BE the login view! Having passkeys working after i logged in the normal way kinda defeats the whole purpose. So i removed the annotation. But now i get "Field 'id' expected a number but got <SimpleLazyObject: <django.contrib.auth.models.AnonymousUser object at 0x108df3ad0>>". So it locks like the login view is actually expecting a logged in user.
I dont get it. Please clarify! 🥹
The text was updated successfully, but these errors were encountered: