Skip to content

Instantly share code, notes, and snippets.

@miliya612
Created November 9, 2018 04:37
Show Gist options
  • Save miliya612/46b0f2760c1d7e7cb8878c4dd82710be to your computer and use it in GitHub Desktop.
Save miliya612/46b0f2760c1d7e7cb8878c4dd82710be to your computer and use it in GitHub Desktop.
WebAuthn: How to implement user-less login

how to implement user-less webauthn

WHAT

Webauthnを用いてUserID-lessなAuthN&Loginの実現

keyword

  • Resident Key
    • Authenticatorに内在し、移動しないCredential
    • Client-side-resident Public Key Credential Source
  • Credential
    • public key credential source

Webauthn における ResidentKey と UserVerification について - enjoy struggling

HOW

Such client-side storage requires a resident credential capable authenticator and has the property that the authenticator is able to select the credential private key given only an RP ID, possibly with user assistance (e.g., by providing the user a pick list of credentials scoped to the RP ID).

  • RP IDのみを指定してAuthenticator
  • Authenticatorの中に保存されているCredentialの中から、与えられたRP IDに合致するもののみを探し出す
  • 複数存在した場合、account chooserが表示される。ユーザーがその中からログインしたいものを選ぶ
    • (複数アカウントを所持しなきゃいけないときに便利?個人アカウントと共有アカウント)
    • yubicoのデモサイトだと出来ず。。。最後に登録されたもので勝手にログインされた(with yubikey)
  • user presence/verify
  • done

TBC

  • yubicoのデモサイトでは、registration時にuser-lessログインを指定するオプションがある
    • 何のパラメータを変えているのか?

ref

https://www.w3.org/TR/webauthn/

Webauthn における ResidentKey と UserVerification について - enjoy struggling

https://speakerdeck.com/ynojima/webauthn-from-the-relying-party-view

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment