github / VisualStudio

GitHub Extension for Visual Studio
https://visualstudio.github.com
MIT License
2.37k stars 1.21k forks source link

GitHub extension sign in issue #2509

Open vasheth opened 4 years ago

vasheth commented 4 years ago

I am trying to connect to my GitHub account from Visual Studio Extension and getting the issue as per attached image. I don't have anything running on 42549 port.

GitHubError

jcansdale commented 4 years ago

Hello,

Could you have a look at the log file here: %LOCALAPPDATA%\GitHubVisualStudio\extension.log

I'd be interested to know if there is anything that might be related to this in there?

vasheth commented 4 years ago

Attaching the log file. extension.log

ttaylor29 commented 4 years ago

Here is my issue:

I added the GitHub extension in VS 2019.

I go to log in via my git hub account, and it redirects me to a localhost URL:

The link: "Sign in with your browser" takes you to this URL: https://localhost:42549/?browser_session_id=096721046e76c425952c3be513b76cf837341569&code=3620be2877d57424d2ab&state=9d5c0e2a-89bc-41f0-a9da-413c1ff72ec4

extension.log

GitHubUrlError

vasheth commented 4 years ago

@ttaylor29 Welcome to the party :) This is exactly my issue as well. I never got a resolution for this though.

ttaylor29 commented 4 years ago

@vasheth So you never got logged in at all?

vasheth commented 4 years ago

@ttaylor29 That's correct. I had also raised this concern to GitHub support and they provided a few workarounds. None of them worked for me but I am listing them down below in case they do work for you.

Also, a very hard hitting response on this from GitHub Support was: "Unfortunately the Visual Studio Extension is not being as actively developed, so I do not have a firm timeline for any sort of fix".

ttaylor29 commented 4 years ago

@vasheth I uninstalled on my desktop computer Github VS extension and then reinstalled, and it redirects me to a proper URL that does not have localhost in it.

Weird thing is when I uninstalled (removed the extension) and added it back, I was already signed in. I wonder if I was already signed into GitHub on the web at that point. Then I signed out, signed back into the screen both of us posted, then it took me to the proper URL.

Here is the URL:

https://github.com/login?client_id=a200baed193bb2088a6e&return_to=%2Flogin%2Foauth%2Fauthorize%3Fclient_id%3Da200baed193bb2088a6e%26scope%3Duser%252Crepo%252Cgist%252Cwrite%253Apublic_key%252Cread%253Aorg%252Cworkflow%26state%3D22d5d1b1-8a2c-44ac-aaa9-e9a4a888745a

VS version:

Version 16.5.4

vasheth commented 4 years ago

@ttaylor29 I did uninstall but I hadn't signed out. Let me try that as well.

ttaylor29 commented 4 years ago

No fun - @vasheth.

Try my steps to see if that helps?

ttaylor29 commented 4 years ago

@vasheth I recreated it again:

This time the URL is:

http://localhost:42549/?browser_session_id=7586c454eb82dd82f94be0b2002ce54c00d3f989&code=429b6958240f905ca91c&state=61567760-11bf-45a3-aa37-c863a672d4eb

It opens Edge for me to sign in.

Open up your default browser

  1. Open up your default browser
  2. Sign in to git hub via your browser
  3. Then try signing into the extension via VS.
  4. I think the first time it went to localhost URL, it asked me to allow an extension and then took me to approve the application/extension

Previously, a first-party GitHub OAuth application (Visual Studio) had gist, read:org, repo, user, and write:public_key scopes. It was recently granted an additional scope (workflow). Visit https://github.com/settings/connections/applications/a200baed193bb2088a6e for more information.

To see this and other security events for your account, visit https://github.com/settings/security

If you run into problems, please contact support by visiting https://github.com/contact

And it looks like the browser URL on the screen capture we both posted is correct, but then I see this:

You are being redirected to the authorized application If your browser does not redirect you back, please click here to continue.

Then at that point it redirects me to the URL: localhost.....

and shows this

image

T-Ravi commented 4 years ago

I'm also not able to connect to the Git Enterprise from Visual Studio 2017 Enterprise edition. The Sign In button stays in disabled even after entering the URL.

I'm using the latest version of the Extension. Do I need to use a different version to connect from VS 2017. If so, can some one please suggest which version to be used for VS 2017 Enterprise edition.

techduggu commented 4 years ago

Hi Team,

Even I am facing this issue with GitHub extension with Visual Studio 2019. I have tried the above workarounds (uninstalling/reverting to previous version etc.) but no luck.

I am able to sign-in successfully to GitHub on my browser but through extension, when I click on 'Sign in with your browser' option, it opens the browser with the below URL and it just keeps loading: https://github.com/login/oauth/authorize?client_id=a200baed193bb2088a6e&scope=user%2Crepo%2Cgist%2Cwrite%3Apublic_key%2Cread%3Aorg%2Cworkflow&state=cd3677b8-bf82-4d2d-80c2-71fb3ed7cb63

Below is the error captured from Github Extension log:

2020-08-15 22:29:05.832 [20420] INFO [58] GitHubPackage Initializing GitHub Extension v2.11.104.25275 in Microsoft Visual Studio 2019 (16.6.30114.105) 2020-08-15 22:29:23.860 [20420] EROR [01] LoginTabViewModel Error logging into '"https://github.com/"' as '' Octokit.AuthorizationException: Requires authentication at Octokit.Connection.HandleErrors(IResponse response) at Octokit.Connection.d58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Octokit.Connection.d571.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<GetUserAndCheckScopes>d__23.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 346 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<ReadUserWithRetry>d__22.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 335 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.<LoginViaOAuth>d__14.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 158 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.VisualStudio.ConnectionManager.<LogInViaOAuth>d__14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.ViewModels.Dialog.LoginTabViewModel.<LoginToHostViaOAuth>d__56.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.App\ViewModels\Dialog\LoginTabViewModel.cs:line 173 {"message":"Requires authentication","documentation_url":"https://docs.github.com/rest/reference/users#get-the-authenticated-user"} 2020-08-15 22:31:05.818 [20420] EROR [05] GitHubServiceProvider Error loading GitHub.Services.IConnectionManager System.InvalidOperationException: Due to high risk of deadlock you cannot call GetService from a background thread in an AsyncPackage derived class. You should instead call GetServiceAsync (without calling Result or Wait on the resultant Task object) or switch to the UI thread with the JoinableTaskFactory.SwitchToMainThreadAsync method before calling GetService. at Microsoft.VisualStudio.Shell.AsyncPackage.GetService(Type serviceType) at Microsoft.VisualStudio.Shell.Package.System.IServiceProvider.GetService(Type serviceType) at GitHub.VisualStudio.GitHubServiceProvider.TryGetService(Type serviceType) 2020-08-15 22:34:32.192 [20420] EROR [01] LoginTabViewModel Error logging into '"https://github.com/"' as '' Octokit.AuthorizationException: Requires authentication at Octokit.Connection.HandleErrors(IResponse response) at Octokit.Connection.<RunRequest>d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Octokit.Connection.<Run>d__571.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.d23.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 346 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.d22.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 335 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.Api.LoginManager.d14.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.Api\LoginManager.cs:line 158 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.VisualStudio.ConnectionManager.d14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at GitHub.ViewModels.Dialog.LoginTabViewModel.d__56.MoveNext() in D:\a\VisualStudio\VisualStudio\src\GitHub.App\ViewModels\Dialog\LoginTabViewModel.cs:line 173 {"message":"Requires authentication","documentation_url":"https://docs.github.com/rest/reference/users#get-the-authenticated-user"}

YounesCheikh commented 4 years ago

I solved the problem using the solution i posted here : Issue 2527 👍

ttaylor29 commented 3 years ago

Another solution:

https://github.com/github/VisualStudio/issues/2527#issuecomment-730082783

Premier-Solutions commented 1 year ago

The issue that I was facing was that github was redirecting me to localhost without adding the port number. http://localhost/?browser_session_id=96cee3401f9a78b6f307eb0819606d4f80e21988a8a945fb6d3b9b74e032de8e&code=90255ccef1a34eac35cb&state=189a50d1-b1ae-405d-8b46-ecf54e3528a1

I just added the port number as mentioned in ttaylor29 (42549) comment and it worked fine then.

jcansdale commented 1 year ago

Hi folks 👋🏻

Thanks for reporting the issue with the missing port number. This has been fixed and should now be working correctly!