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

Improve initial setup process #408

Closed
joshcanhelp opened this issue Mar 9, 2018 · 5 comments
Closed

Improve initial setup process #408

joshcanhelp opened this issue Mar 9, 2018 · 5 comments

Comments

@joshcanhelp
Copy link
Contributor

I wanted to start a thread here to discuss how we can improve the initial setup process/wizard for the plugin.

The wizard, as it works currently, is optimized to work really well for a specific use case: sites that need username and password login in a separate database connection and want their users migrated. This means that use cases outside of this - social only, don't want user migrations, want to share a DB connection - need to then un-do a number of things in the Auth0 Dashboard (for example). This could be an existing, long-term Auth0 customer adding new WordPress sites, an important use case we definitely want to support.

I think much of the logic that exists now around creating Clients and Connections can remain but should be triggered based on administrator preferences, like this:

wpauth0setupwizard-checklist

Besides the design and flow of how this should go, the only other main part of this would be error catching through the process. Right now, the wizard either succeeds or fails and the latter is not handled very gracefully.

I'm totally open to feedback here, including what options should be available in the wizard. This can easily be built in a way that can be migrated to the next major version of the plugin and, again, uses a lot of existing, working code.

@joshcanhelp joshcanhelp self-assigned this Mar 9, 2018
@aaguiarz
Copy link

  • Why do we need to select an existing client? Why can't we always create one?
  • Why can't we always enable SSO?

@lbalmaceda
Copy link
Contributor

lbalmaceda commented Mar 13, 2018

@joshcanhelp
Before showing this form full of options I'd ask the user what's their use case. Either via 3 or 4 buttons or via a drop-down menu. Once they choose that, you change what you show in the form below or even better, move them to a separate screen with only the options required by that use case.
You need to remember this use-case setting somewhere so later in the dashboard you hide options that are not required and may confuse the user.

Note that in the future, users might want to "upgrade" their use case and might want to go through this setup again. So a button to reset the current configuration and show this setup is required.

EDIT: I realize that's kind of what you wanted to achieve in the screenshot. But I'd simplify it to less options and a good description on each.

@joshcanhelp
Copy link
Contributor Author

@aaguiarz

"Why do we need to select an existing client? Why can't we always create one?" - The switch tells the setup wizard whether you want to use an existing one or not. If off, then that field will go away and it will create one for you.

"Why can't we always enable SSO?" - It could default to on

@lbalmaceda

"I'd ask the user what's their use case" - I like this approach and was considering it but I'm on the fence for a few reasons.

  1. I think it's easy to describe things in a way that makes sense to us but no one else, particularly when you're describing someone else's problem. Would be hard to get this just right without user testing.
  2. I'm apprehensive about getting too far away from the language that we already use in the dashboard. By the time someone sets up their site, they should be at least vaguely familiar with what a Client and a Connection is so they're not completely lost in the dashboard.

"might want to go through this setup again" - it doesn't seem likely that someone would start from scratch on an existing site. That said, I think all the setup options should be in one place.

"a good description on each" - descriptions are there. Don't worry, we'll have something better than lorem ipsum :)

Thanks gents!

@joshcanhelp
Copy link
Contributor Author

Moving in a few tasks from #282:

  • Configuration wizard: it should use the new pipeline (without the /i path if available with auth0.auth0.com)
  • The scopes requested during the configuration wizard should be enough to create a non interactive client and grant access to the required scopes for the management api RS.
  • For "offline" flow it should request the client_id and secret and explain how to manually create it instead of asking for a token.

@joshcanhelp
Copy link
Contributor Author

Backlogged internally for a future release.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants