Comments (9)
I certainly agree!
Actually performing the required migration will require some thought – especially avoiding duplicate accounts.
from cloudpebble.
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.
Agree. Sounds good.
Do you have any stats on local development? How many users is that?
from cloudpebble.
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.
@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.
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.
The logic is handled and should work correctly now, including the awkward edge cases. First pass at the split login UI looks like this:
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:
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.
This is now implemented in CloudPebble and blocking on pebble-auth.
from cloudpebble.
This is live now.
from cloudpebble.
Related Issues (20)
- Resource previews cannot be found when using Edge
- "Serialisation of timeline item failed." when pushing timeline pins
- Incorrect warning when formatting int32_t with %ld HOT 3
- Github push: filling in a title and hitting "cancel" still makes a commit HOT 2
- "Code completion resync failed." HOT 2
- Cloudpebble forgets project settings HOT 4
- AutoPull and compile doesn't cause refresh of data on compilation-pane HOT 1
- Add Outline window to the Code Editor
- Unable to create/import files with multiple periods HOT 1
- Ctrl + F find function needs improvement
- Emulator boot failed: Unable to create emulator instance. HOT 3
- TypeScript support
- Configuration to keep the first newline after a pebble tag HOT 2
- Build breaks when a Pebblekit file is added to a Rocky.js project HOT 4
- Emulator not starting HOT 2
- Changing sdk version from 2 to 4 causes the images to disappear
- npm dependencies search doesn't find new packages
- up and down arrow key don't work in iOS Safari
- TypeError: Cannot read property 'message' of undefined HOT 2
- I need help to replicate CloudPebble
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cloudpebble.