microsoft / microsoft/artifacts-credprovider

Unable to use Interactive credential flow with remote-ssh vscode sessions

Open
#555 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

external keep
Dominant language
C#
Stars
947
Forks
728
PR merge metrics
No merged PRs in 30d

Description

If you use a Linux Remote-SSH session with vscode you are forced into using Device-code authentication flows which our organisation prevents for security reasons. We need interactive flows to be correctly used if the environment allows this.

If you install xdg-open ensure $NUGET_CREDENTIALPROVIDER_FORCE_CANSHOWDIALOG_TO=true and set $DISPLAY=false vscode will launch the appropriate browser window on the user's machine. (NB you can verify the shell script's existence when using Remote-SSH by inspecting the $BROWSER env var.

I've created an upstream issue to track this here: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/5246

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the credential flow in a Linux Remote-SSH VS Code session, inspecting the $BROWSER environment variable and testing the stated xdg-open, NUGET_CREDENTIALPROVIDER_FORCE_CANSHOWDIALOG_TO, and DISPLAY settings. Read the linked Microsoft Authentication Library issue first; done means an allowed environment uses the interactive browser flow instead of device-code authentication.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, linux, vscode
Domain
authentication, cli, developer-experience
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.