This repository was archived by the owner on Jun 21, 2023. It is now read-only.
This repository was archived by the owner on Jun 21, 2023. It is now read-only.
UI that can handle authentication and picking a server/account #2374
Open
Description
There are several places within our UI where we need to authenticate a user and/or select a GitHub/GitHub Enterprise server.
User Stories
Activities
- Cloning a repo
- Creating a repo
- Publishing a repo
Stories
- As a unauthenticated user I want to sign in while [Activity].
- As a GitHub.com authenticated user, I want sign into a GitHub Enterprise account while [Activity].
- As a GitHub.com authenticated user, I want sign into another GitHub.com account while [Activity].
- As a GitHub Enterprise authenticated user, I want sign into a GitHub.com account while [Activity].
- As a GitHub Enterprise authenticated user, I want sign into another account on the same GitHub Enterprise server while [Activity].
- As a GitHub Enterprise authenticated user, I want sign into another GitHub Enterprise server while [Activity].
Current Workflows
After the initial authentication, how to authenticate with a different GitHub or GitHub Enterprise account is isn't very intuitive. The user must discover the Team Explorer - Connect
page and then click on Manage Connections > Connect to GitHub
.
Publish to GitHub workflow
- User is invited to choose a Git service for publishing
- Clicking on notification gives option to
Publish to GitHub
- Clicking
Publish to GitHub
opens sign in dialog and then shows publish view
- If user is already logged in there is no option to authenticate or choose a different server
- User must somehow discover the connect page (green plug on tool bar) and
Connect to GitHub
orSign out
Clone from GitHub workflow
- User clicks in GitHub icon from Clone or checkout code
- When not already authenticated user is presented with sign in dialog
- When already authenticated user has option to
Sign in
as top of dialog
(The GitHub.com
and / or GitHub Enterprise
tabs are selectively shown if user has authenticated with that server)
Create a repository workflow
- User clicks
GitHub > Create
fromTeam Explorer - Connect
page
Create
is tied to a GitHub/GitHub Enterprise account so dialog knows where to create the repository
How Azure DevOps works
Clone workflow
- Uses an account picker drop-down with option to
Add an account...
Publish workflow
- Uses same account picker drop down as clone
- Drop-down always includes option to
Add an account...
- This is what it shows if the user hasn't authenticated
Possible solutions
- Add a common container for dialogs to support authentication and account selection
- Mimic the Azure User Control to support logging in and picking accounts