Skip to content

Conversation

@roberlander2
Copy link
Contributor

Description

This PR refactors account auth types into account identifiers and account auth types. This allows a user to sign in with any combination of identifier and auth type on the account. It also allows users to link and unlink identifiers and auth types independently, unless dealing with external auth types and identifiers (e.g., OIDC).

Resolves #674

Review Time Estimate

Please give your idea of how soon this pull request needs to be reviewed by selecting one of the options below. This can be based on the criticality of the issue at hand and/or other relevant factors.

  • Immediately
  • Within a week
  • When possible

Type of changes

Please select a relevant option:

  • Bug fix (non-breaking change which fixes an issue).
  • New feature (non-breaking change which adds functionality).
  • Breaking change (fix or feature that would cause existing functionality to not work as expected).
  • Other (any another change that does not fall in one of the above categories.)

Checklist:

Please select all applicable options:

  • I have signed the Rokwire Contributor License Agreement (CLA). (Any contributor who is not an employee of the University of Illinois whose official duties include contributing to the Rokwire software, or who is not paid by the Rokwire project, needs to sign the CLA before their contribution can be accepted.)
  • I have updated the CHANGELOG.
  • I have read the Contributor Guidelines.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • My change requires updating the documentation.
  • I have made necessary changes to the documentation.
  • I have added tests related to my changes.
  • My changes generate no new warnings.
  • New and existing unit tests pass locally with my changes.
  • Any dependent changes have been merged and published in downstream modules.

roberlander2 and others added 30 commits June 14, 2023 11:39
roberlander2 and others added 3 commits October 3, 2023 16:38
* add app-env.json and update port

* Update app-env.json

* Update app-env.json

* update detect-secrets, update secrets baseline

* update secrets baseline

* update makefile versioning

* Update Makefile

Fix typo

* print version

* upgrade go to v1.20

* fix secrets

* initial webauthn implementation (in progress)

* refactor webauthn to handle credentials, update docs

* avoid creating inaccessible accounts

* fix webauthn registration issues, add webauthn test page

* fix webauthn login flow

* update changelog

* [#659] WebAuthn authentication (#7)

* initial webauthn implementation (in progress)

* refactor webauthn to handle credentials, update docs

* avoid creating inaccessible accounts

* fix webauthn registration issues, add webauthn test page

* fix webauthn login flow

* update changelog

* fix error handling

* fix login issues for mobile

* upgrade dependencies

* [#659] webauthn authentication (#8)

* initial webauthn implementation (in progress)

* refactor webauthn to handle credentials, update docs

* avoid creating inaccessible accounts

* fix webauthn registration issues, add webauthn test page

* fix webauthn login flow

* update changelog

* fix error handling

* fix login issues for mobile

* upgrade dependencies

* add webauthn to account check types

* add configs for authenticator selection to supported auth type params (#10)

* upgrade dependencies

* [#665] Decouple authentication and verification mechanisms (#13)

* add configs for authenticator selection to supported auth type params

* start adding verification types (contains errors) [#665]

* continue splitting auth and verification types [#665]

* finish implementing password auth type, start code verification type, add phone verifier interface [#665]

* finish refactoring identifier, auth types, start updating apis [#665]

* finish fixing errors [#665]

* fix passkey errors [#665]

* bug fixes, email with passkey not working because no params in email auth type

* update identifier impl and auth impl getters to better handle backwards compatibility (has errors)

* bug fixes, email and passkey not completing registration

* add json omitempty tags to credential structs

* better identifier type parsing

* passkeys using email and username identifiers working

* start fixing phone, passkey auth

* bug fixes for phone and passkey, better error messages

* simplify phone verifier interface

* phone auth type link working, add authCommunicationChannel interface to handle verification functions

* add ability to link webauthn credentials to accounts

* only set username if empty

* Change messages handling for verification

* remove commented blocks

* cleanup

* return verified auth types when cannot find account with username but not identifier

* bug fixes

* fix phone auth type docs

---------

Co-authored-by: Stephen Hurwit <sjhurwit@gmail.com>
Co-authored-by: akshadpai <akshadpai01@gmail.com>

* add missing verify email env var to app-env.json

* Auth-verify split fixes (#16)

* bug fixes

* update secrets baseline

* fix issues introduced by nullable device IDs

* fix username format

* update secrets baseline

* fix sign up bug

* disable request docs validation

* fix startup error for caching auth type

* fix pkce generation

* fix random string interface

* set user agent for oidc requests

* revert auth type changes

* revert core models, go mod, auth interface impl, remove phone verifier interface

* revert web package webauthn additions, update API docs

* fix storage files

* revert auth.go

---------

Co-authored-by: Stephen Hurwit <sjhurwit@gmail.com>
Co-authored-by: Stephen Hurwit <10472810+shurwit@users.noreply.github.com>
Co-authored-by: akshadpai <akshadpai01@gmail.com>
@roberlander2 roberlander2 changed the base branch from 659-webauthn-authentication to develop October 6, 2023 20:00
@roberlander2 roberlander2 changed the base branch from develop to 659-webauthn-authentication October 6, 2023 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants