•  
     
    story #31173 register a new passkey
Summary
user
register a new passkey
Empty
  • There is a WebAuthn pane in user preferences
  • By clicking on the add button, I can fill an input with the key name and then register my passkey
  • Then a button 'check my key' appear
  • On clicking on this button, I can use my passkey to check that it works
Empty
Empty
Status
Authentication & LDAP
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
  • Implement WebAuthnUser (get, create)
    • WebAuthnUserManager
    • WebAuthnUserDao
    • table in database
  • Implement WebAuthnCredentialSource (getAll, create)
    • composer require web-auth/webauthn-lib
    • WebAuthnCredentialSourceManager implements PublicKeyCredentialSourceRepository
    • WebAuthnCredentialSourceDao
    • table in database
  • Implement WebAuthnOptions (create, get)
    • WebAuthnOptionsManager
    • WebAuthnOptionsDao
    • table (registration) in database
  • Add REST route GET /api/webauthn/generate_registration_options
  • Add REST route POST /api/webauthn/check_registration
  • Implement interface
    • WebAuthn plugin
    • route GET /plugins/webauthn/account
    • template with just a button
    • js asset reacting on button click
  • Add REST route GET /api/webauthn/generate_authentication_options
  • Add REST route POST /api/webauthn/check_authentication
  • Add a check button in user preferences
    • js asset
Details
#31173
Kevin Traini (ktraini)
2023-05-19 14:17
2023-03-20 12:05
32776

References
Referencing story #31173

Git commit

tuleap/tuleap/stable

feat: Implement WebAuthnCredentialSource 72eb0972b0
feat: Begin registration ceremony a114e231d0
chore: Explain Option::unwrapOr() df5c3c1ea1
chore: Move stubs to tests/lib/Stubs folder 74cb9fc612
feat: Store challenge of registration ceremony 8b7bab6381
refactor: Reduce list of allowed algorithms to minimum 1f65d68b44
Remove unused e932a0644f
feat: Begin check of registration ceremony a3e71b2e89
fix: POST /webauthn/registration-challenge returns 200 7c8b807570
feat: Create PasskeyStub 33516965af
feat: Retrieve challenge for registration ceremony 3ee9c6e69b
feat: Check attestation response f7130be348
feat: Save credential source d044ab5a81
feat: Restler error response f7380d62a7
feat: Empty WebAuthn plugin 8ec0afb782
feat: Add route for WebAuthn account settings a8200acddb
feat: Add template with just a button c9aaabb76a
feat: add ts asset to register a new passkey 2460d33ff9
feat: Begin authentication ceremony 7c9e722ece
feat: Begin last step of authentication ceremony 7b38918d9a
feat: finish authentication ceremony 9c7a9b3fd6
fix: Storage of credenial public key in database 6b0dc44978
refactor: Move register script into a subscript 721f308a18
feat: Button to check your passkey 218ea0d4e3
refactor: Split user preferences tabs in sections 7eab429712

Follow-ups

User avatar
Joris MASSON (jmasson)2023-03-28 09:56

gerrit #28175 (Implement WebAuthnCredentialSource) integrated in Tuleap 14.6.99.211


  • Status changed from Idea / Sandbox to On going
  • Permissions set to
User avatar
Kevin Traini (ktraini)2023-03-20 15:45
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Technical informations
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Kevin Traini (ktraini)2023-03-20 14:53
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Technical informations
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Kevin Traini (ktraini)2023-03-20 12:06
  • Technical informations
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
Kevin Traini (ktraini)2023-03-20 12:06
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes