macOS: GSSAPI operation failed on Nuget restore
28th October 2019When restoring packages from a remote on-prem Nuget repository on macOS, you may run into either one of the following error messages:
GSSAPI operation failed with error - An unsupported mechanism was requested
Unable to load the service index for source https://tfs.partner.com/DefaultCollection/_packaging/Nuget/nuget/v3/index.jsonAs covered in [this old, but unresolved ticket](https://github.com/Microsoft/artifacts-credprovider/issues/45), the problem usually stems from incorrect auth handling when downgrading the mode of authentication (e.g from Kerberos to Basic).
To work around the issue you need to:
-
generate a personal acess token (PAT) that gives you rights to the given service;
-
configure your
Nuget.config
to use the PAT for authentication usingBasic
auth:<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="NuGet official package source" value="https://api.nuget.org/v3/index.json" /> <add key="Partner" value="https://tfs.partner.com/DefaultCollection/_packaging/Nuget/nuget/v3/index.json" /> </packageSources> <packageSourceCredentials> <Partner> <add key="Username" value="USERNAME" /> <add key="ClearTextPassword" value="PATSTRING" /> <add key="ValidAuthenticationTypes" value="basic" /> </Partner> </packageSourceCredentials> </configuration>
-
clear the cache and restore the packages using the old HTTP client:
cd repo nuget locals -clear all export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 nuget restore