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 EmailAlreadyInUse issues #56

Merged
merged 5 commits into from
Jul 12, 2024
Merged

Fix EmailAlreadyInUse issues #56

merged 5 commits into from
Jul 12, 2024

Conversation

patrislav
Copy link
Member

No description provided.

}
}

ident, err := authProvider.Verify(ctx, verifCtx, sess.ID, intent.Data.Answer)
if err != nil {
return nil, fmt.Errorf("verifying identity: %w", err)
if verifCtx != nil {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo... verifCtx ... I think call it .. verifyCtx ..?

also, what is the code doing, and why..? it looks like its making multiple attempts to encrypt and update something..? is the underlining service prone to failing / timing out..?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's actually short for "verification context" 😄

The whole block comes directly from https://github.com/0xsequence/waas-authenticator/blob/master/rpc/sessions.go#L86.

For context, this is executed whenever the client/user responds with an answer to a challenge (e.g. after inputting code from email OR in commit/reveal flow, when the client provides the revealed auth proof). If we failed answer verification (e.g. incorrect code input by the user) AND if there is an existing verification context (always true for email flow), then we increment the attempts count in the verification context's encrypted data, re-encrypt that data, and store it back in the database.

This lets us keep track of failed attempts and prevent the user from trying every single code combination there is 😄

The one here is the same but for account federation/linking instead of authentication.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

understood :) thanks for explaining, sounds good

Copy link
Contributor

@marino39 marino39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The small nit on WebRPC error code standarization. Apart from that LGTM.

proto/clients/authenticator.gen.ts Outdated Show resolved Hide resolved
@patrislav patrislav merged commit 40a23d4 into master Jul 12, 2024
2 checks passed
@patrislav patrislav deleted the fix-email-conflict branch July 12, 2024 12:10
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