Giter Club home page Giter Club logo

Comments (9)

Katharine avatar Katharine commented on September 28, 2024

I certainly agree!

Actually performing the required migration will require some thought – especially avoiding duplicate accounts.

from cloudpebble.

Katharine avatar Katharine commented on September 28, 2024

Okay, so I think the way to do this is to have the login page go to a "log in using your pebble account" versus "log in using your CloudPebble account" split, with the latter being noted as deprecated. CloudPebble account creation is disabled completely, and perhaps some "don't have a Pebble account?" blurb linking to the appropriate signup page.

Going through the Pebble system sends you to the Pebble OAuth flow and logs you in. If you don't already have an account in the system it's silently generated for you; nothing else interesting there.

Going through the legacy CloudPebble flow asks you to log in using your Pebble account and then directs you to the Pebble OAuth flow to create/log in to an account. On returning to CloudPebble your Pebble-linked account is looked up or created if necessary, and your legacy CloudPebble account is merged with it. From this point I think you have to log in using the Pebble account and your legacy CloudPebble login is retired – which would need to be clearly communicated.

This handles all the cases – new user who has never used CloudPebble; user who migrates their CloudPebble account to a Pebble account, and the user who accidentally ends up with both types of account and later tries to merge them.

Over time we would de-emphasise the legacy login scheme.

In addition to all this, local development probably needs to still be able to hang on to the legacy system because demanding everyone run their own OAuth servers seems unreasonable.

from cloudpebble.

sarfata avatar sarfata commented on September 28, 2024

Agree. Sounds good.

Do you have any stats on local development? How many users is that?

from cloudpebble.

sarfata avatar sarfata commented on September 28, 2024

I can give you access and/or create a oauth app for you on our SSO service. Let me know if/when you want to start working on that.

from cloudpebble.

Katharine avatar Katharine commented on September 28, 2024

@sarfata I actually already started! I'm testing against a local pebble-auth instance for now, but real credentials would be good (but not posted here, obviously…).

I have about half a workable implementation so far – the infrastructure is there and working; collision resolution and the UI is not.

As for local development, about five people (one of whom is myself) – I'm referring to working on CloudPebble itself, though I know at least one person actually uses a local instance just because they want to keep their own data.

from cloudpebble.

Katharine avatar Katharine commented on September 28, 2024

This is also probably going to break the iOS CloudPebble app, though I don't know that we actually care. Who maintains that anyway? It's got nothing to do with me, and is reverse-engineered.

from cloudpebble.

Katharine avatar Katharine commented on September 28, 2024

The logic is handled and should work correctly now, including the awkward edge cases. First pass at the split login UI looks like this:

split login UI

For now I've opted to place the Pebble Login button below the legacy one in the hope that people are more likely to read it.

Once you log in, or if you're already logged in, you get this view:

account linking view

Clicking the "Link" button will link to the Pebble account, revoke your password-based login, and merge the account with any other accounts you have also linked to that Pebble account.

(Amusingly, this last step can be performed repeatedly by manually entering URLs, but I don't think that's actually an issue.)

from cloudpebble.

Katharine avatar Katharine commented on September 28, 2024

This is now implemented in CloudPebble and blocking on pebble-auth.

from cloudpebble.

Katharine avatar Katharine commented on September 28, 2024

This is live now.

from cloudpebble.

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.