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

Crash when using WAM on Windows Server 2016 #487

Closed
4 tasks done
mjcheetham opened this issue Oct 12, 2021 · 4 comments · Fixed by #629
Closed
4 tasks done

Crash when using WAM on Windows Server 2016 #487

mjcheetham opened this issue Oct 12, 2021 · 4 comments · Fixed by #629
Labels
auth:microsoft Specific to Microsoft AAD/MSA authentication auth-issue An issue authenticating to a host experimental Specific to an experimental feature external Relating to an external partner, team, or library platform:windows Specific to the Windows platform

Comments

@mjcheetham
Copy link
Collaborator

Which version of GCM Core are you using?

2.0.498

Which Git host provider are you trying to connect to?

  • Azure DevOps

Can you access the remote repository directly in the browser using the remote URL?

  • Yes

[Azure DevOps only] What format is your remote URL?

[Azure DevOps only] If the account picker shows more than one identity as you authenticate, check that you selected the same one that has access on the web.

  • Not applicable

Expected behavior

The Windows broker account picker appears and I can sign in with a new AAD account.

Actual behavior

An error is thrown:

fatal: Could not get the account provider - account picker. See inner exception for details
fatal: Method not found: 'Void Windows.Security.Authentication.Web.Core.WebTokenRequest.put_CorrelationId(System.String)'.

Logs

Set the environment variables GCM_TRACE=1 and GIT_TRACE=1 and re-run your Git command. Review and redact any private information and attach the log.

gcm.log

@mjcheetham mjcheetham added platform:windows Specific to the Windows platform auth:microsoft Specific to Microsoft AAD/MSA authentication auth-issue An issue authenticating to a host experimental Specific to an experimental feature labels Oct 12, 2021
@mjcheetham
Copy link
Collaborator Author

The version of MSAL used in GCM 2.0.498 is 4.31. Attempting to update to the latest MSAL (4.36.2 at time of writing) results in different behaviour.

Once I got an error "User canceled authentication". Another time I got a hang; the AAD plugin window was show, but then closed itself and authentication hung. Logs attached for this latter case.

gcm2.log

The problem appears to be with either MSAL or WAM in Windows Server 2016. An internal incident (ICM) was raised with the WAM team with ID 266225811 and detailed diagnostics provided there.

The Windows Server 2016 machine was "classic" domain joined. It does not appear to be possible to AAD or hybrid join; perhaps this is the root of the problem? Faulty WAM assumptions?

@mjcheetham mjcheetham added the external Relating to an external partner, team, or library label Oct 12, 2021
@mjcheetham
Copy link
Collaborator Author

The MSAL team's tracking issue for this problem is here: AzureAD/microsoft-authentication-library-for-dotnet#2946

@mjcheetham
Copy link
Collaborator Author

We are still awaiting a fix in MSAL.

@mjcheetham
Copy link
Collaborator Author

The latest from the MSAL team is that Windows Server 2016 isn't supported for WAM:

The reason why WAM is not available on Win Server 2016 is that the AAD plugin does not return an ID token. MSAL libraries don't really work with it.

We should update our WAM logic to exclude WinServer 2016.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auth:microsoft Specific to Microsoft AAD/MSA authentication auth-issue An issue authenticating to a host experimental Specific to an experimental feature external Relating to an external partner, team, or library platform:windows Specific to the Windows platform
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant