Skip to content
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

fix: MFA NewFactor to default to creating unverfied factors #1692

Merged
merged 4 commits into from
Jul 31, 2024

Conversation

J0
Copy link
Contributor

@J0 J0 commented Jul 30, 2024

What kind of change does this PR introduce?

  • Split NewFactor into NewPhoneFactor() and NewTOTPFactor().
  • All New<Type>Factor methods will now create unverified factors.
  • Additionally, also guards the Challenge endpoint when verification is disabled for a factor.

The hope is to reduce cognitive load and the chance of creating a factor in an undesired state

Should one wish to obtain a Verified Factor (say for tests) they can call UpdateStatus. It is unlikely for this to be a common use case though.

Someone might have brought this up prior but only getting to it now

@J0 J0 requested a review from a team as a code owner July 30, 2024 16:37
@J0 J0 changed the title fix: change interface for the Factor to default to unverified fix: MFA NewFactor to default to creating unverfied factors Jul 30, 2024
@coveralls
Copy link

coveralls commented Jul 30, 2024

Pull Request Test Coverage Report for Build 10166630443

Details

  • 14 of 20 (70.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.02%) to 58.2%

Changes Missing Coverage Covered Lines Changed/Added Lines %
internal/api/mfa.go 9 15 60.0%
Totals Coverage Status
Change from base Build 10157498258: -0.02%
Covered Lines: 9163
Relevant Lines: 15744

💛 - Coveralls

internal/api/mfa.go Show resolved Hide resolved
@hf hf merged commit 3d448fa into master Jul 31, 2024
2 checks passed
@hf hf deleted the j0/phone_mfa_refactors branch July 31, 2024 13:07
J0 pushed a commit that referenced this pull request Jul 31, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.158.0](v2.157.0...v2.158.0)
(2024-07-31)


### Features

* add hook log entry with `run_hook` action
([#1684](#1684))
([46491b8](46491b8))
* MFA (Phone) ([#1668](#1668))
([ae091aa](ae091aa))


### Bug Fixes

* maintain backward compatibility for asymmetric JWTs
([#1690](#1690))
([0ad1402](0ad1402))
* MFA NewFactor to default to creating unverfied factors
([#1692](#1692))
([3d448fa](3d448fa))
* minor spelling errors
([#1688](#1688))
([6aca52b](6aca52b)),
closes [#1682](#1682)
* treat `GOTRUE_MFA_ENABLED` as meaning TOTP enabled on enroll and
verify ([#1694](#1694))
([8015251](8015251))
* update mfa phone migration to be idempotent
([#1687](#1687))
([fdff1e7](fdff1e7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
uxodb pushed a commit to uxodb/auth that referenced this pull request Nov 13, 2024
…#1692)

## What kind of change does this PR introduce?

- Split `NewFactor` into `NewPhoneFactor()` and `NewTOTPFactor()`. 
- All `New<Type>Factor` methods will now create unverified factors.
- Additionally, also guards the `Challenge` endpoint when verification
is disabled for a factor.


The hope is to reduce cognitive load and the chance of creating a factor
in an undesired state


Should one wish to obtain a Verified Factor (say for tests) they can
call `UpdateStatus`. It is unlikely for this to be a common use case
though.

Someone might have brought this up prior but only getting to it now
uxodb pushed a commit to uxodb/auth that referenced this pull request Nov 13, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.158.0](supabase/auth@v2.157.0...v2.158.0)
(2024-07-31)


### Features

* add hook log entry with `run_hook` action
([supabase#1684](supabase#1684))
([46491b8](supabase@46491b8))
* MFA (Phone) ([supabase#1668](supabase#1668))
([ae091aa](supabase@ae091aa))


### Bug Fixes

* maintain backward compatibility for asymmetric JWTs
([supabase#1690](supabase#1690))
([0ad1402](supabase@0ad1402))
* MFA NewFactor to default to creating unverfied factors
([supabase#1692](supabase#1692))
([3d448fa](supabase@3d448fa))
* minor spelling errors
([supabase#1688](supabase#1688))
([6aca52b](supabase@6aca52b)),
closes [supabase#1682](supabase#1682)
* treat `GOTRUE_MFA_ENABLED` as meaning TOTP enabled on enroll and
verify ([supabase#1694](supabase#1694))
([8015251](supabase@8015251))
* update mfa phone migration to be idempotent
([supabase#1687](supabase#1687))
([fdff1e7](supabase@fdff1e7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
LashaJini pushed a commit to LashaJini/auth that referenced this pull request Nov 13, 2024
…#1692)

## What kind of change does this PR introduce?

- Split `NewFactor` into `NewPhoneFactor()` and `NewTOTPFactor()`. 
- All `New<Type>Factor` methods will now create unverified factors.
- Additionally, also guards the `Challenge` endpoint when verification
is disabled for a factor.


The hope is to reduce cognitive load and the chance of creating a factor
in an undesired state


Should one wish to obtain a Verified Factor (say for tests) they can
call `UpdateStatus`. It is unlikely for this to be a common use case
though.

Someone might have brought this up prior but only getting to it now
LashaJini pushed a commit to LashaJini/auth that referenced this pull request Nov 13, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.158.0](supabase/auth@v2.157.0...v2.158.0)
(2024-07-31)


### Features

* add hook log entry with `run_hook` action
([supabase#1684](supabase#1684))
([46491b8](supabase@46491b8))
* MFA (Phone) ([supabase#1668](supabase#1668))
([ae091aa](supabase@ae091aa))


### Bug Fixes

* maintain backward compatibility for asymmetric JWTs
([supabase#1690](supabase#1690))
([0ad1402](supabase@0ad1402))
* MFA NewFactor to default to creating unverfied factors
([supabase#1692](supabase#1692))
([3d448fa](supabase@3d448fa))
* minor spelling errors
([supabase#1688](supabase#1688))
([6aca52b](supabase@6aca52b)),
closes [supabase#1682](supabase#1682)
* treat `GOTRUE_MFA_ENABLED` as meaning TOTP enabled on enroll and
verify ([supabase#1694](supabase#1694))
([8015251](supabase@8015251))
* update mfa phone migration to be idempotent
([supabase#1687](supabase#1687))
([fdff1e7](supabase@fdff1e7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
LashaJini pushed a commit to LashaJini/auth that referenced this pull request Nov 15, 2024
…#1692)

## What kind of change does this PR introduce?

- Split `NewFactor` into `NewPhoneFactor()` and `NewTOTPFactor()`. 
- All `New<Type>Factor` methods will now create unverified factors.
- Additionally, also guards the `Challenge` endpoint when verification
is disabled for a factor.


The hope is to reduce cognitive load and the chance of creating a factor
in an undesired state


Should one wish to obtain a Verified Factor (say for tests) they can
call `UpdateStatus`. It is unlikely for this to be a common use case
though.

Someone might have brought this up prior but only getting to it now
LashaJini pushed a commit to LashaJini/auth that referenced this pull request Nov 15, 2024
🤖 I have created a release *beep* *boop*
---


##
[2.158.0](supabase/auth@v2.157.0...v2.158.0)
(2024-07-31)


### Features

* add hook log entry with `run_hook` action
([supabase#1684](supabase#1684))
([46491b8](supabase@46491b8))
* MFA (Phone) ([supabase#1668](supabase#1668))
([ae091aa](supabase@ae091aa))


### Bug Fixes

* maintain backward compatibility for asymmetric JWTs
([supabase#1690](supabase#1690))
([0ad1402](supabase@0ad1402))
* MFA NewFactor to default to creating unverfied factors
([supabase#1692](supabase#1692))
([3d448fa](supabase@3d448fa))
* minor spelling errors
([supabase#1688](supabase#1688))
([6aca52b](supabase@6aca52b)),
closes [supabase#1682](supabase#1682)
* treat `GOTRUE_MFA_ENABLED` as meaning TOTP enabled on enroll and
verify ([supabase#1694](supabase#1694))
([8015251](supabase@8015251))
* update mfa phone migration to be idempotent
([supabase#1687](supabase#1687))
([fdff1e7](supabase@fdff1e7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

3 participants