Giter Site home page Giter Site logo

SignUp Flow about userbase HOT 5 CLOSED

smallbets avatar smallbets commented on May 30, 2024
SignUp Flow

from userbase.

Comments (5)

dvassallo avatar dvassallo commented on May 30, 2024

Thank you for reporting. I can't repro it at the moment, but will keep an eye on this.

BTW. You can get the key after signing in from the key icon on the top right.

from userbase.

ankitboghra avatar ankitboghra commented on May 30, 2024

Cool, thanks.

from userbase.

ankitboghra avatar ankitboghra commented on May 30, 2024

I am not able to get the key from the key icon too.
Screenshot from 2019-07-18 14-58-13

from userbase.

j-berman avatar j-berman commented on May 30, 2024

Following up on this, it's possible for an account to be created but for the key to not save properly in your browser.

We're currently discussing a larger overhaul to our sign up/sign in implementation that will prevent this issue, stay tuned! For now, it would be simplest to just create a new account.

Thank you again for creating this issue!

More details on the issue

This likely happened because of a random network error causing the sign up to timeout. Even though your username saved in our database, your browser didn't receive a response from the server saying it saved successfully and got stuck loading/waiting for a response.

Since we only generate and save the key after a successful response from the sign up endpoint on the server, your key was never generated for this account. So your account was created, but you don't have a key. The larger overhaul to our sign in/sign up implementation will fix this.

For now, we've added a 10 second timeout handler to all requests originated by the client that should time out. If signing up takes longer than 10 seconds for example, it'll show you an error so you can try again -- it won't just continue showing the loader. But the main issue still remains.

from userbase.

j-berman avatar j-berman commented on May 30, 2024

This issue should be fixed! Closing, but feel free to re-open if it arises again.

Apologies for the late follow-up, a lot has changed since the above.

Technical description of the new sign up approach

(1) First, your browser generates a secret key (referred to in the code as a "seed"), then sends the server your provided username/password combo (source). If this username isn't taken, you receive a successful response from the server (but importantly, your account is not fully created yet).

(2) Next, your browser saves your seed to local storage.

(3) Finally, your browser establishes a web socket connection to the server. Your browser then proves ownership of the seed to the server. Once this is done, the server assumes your browser has safely saved the seed to local storage. Your account becomes "fully created" at this point, and no one else can take your username (source). Up until this point, anyone could have attempted to sign up with your username. So in the event there is a network error between steps 1 and 2 (which is what seemed to be the issue in your case), you could safely re-attempt to sign up.

from userbase.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.