8
votes

I have an Azure function which has a dependency on a private package feed.

I am copying a nuget.config file to the app service which looks like this:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="MyPackageFeed" value="<package feed path>" />
  </packageSources>
  <packageSourceCredentials>
  <MyPackageFeed>
    <add key="Username" value="<first part of Hotmail address, before @ symbol>" />
    <add key="Password" value="<newly generated access token for username>" />
  </MyPackageFeed>
</packageSourceCredentials>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>

Note: I use the first part of my Hotmail account email address as this is the username I use to authenticate to the private feed elsewhere - Visual Studio etc.

This is what I am seeing in the Logs in the Azure function portal:

2016-10-05T11:57:16.974 Restoring packages.
2016-10-05T11:57:16.974 Starting NuGet restore
2016-10-05T11:57:18.381 Restoring packages for D:\home\site\wwwroot\HttpTriggerSqlDb\project.json...
2016-10-05T11:57:19.322 Unable to load the service index for source <path to feed>
2016-10-05T11:57:19.322 The parameter is incorrect.

If I change the Password key to ClearTextPassword as suggested by @brettsam, I now get the following:

2016-10-05T14:03:04.479 Please provide credentials for: <path to feed>
2016-10-05T14:03:05.097 Unable to load the service index for source <path to feed>
2016-10-05T14:03:05.097 Response status code does not indicate success: 401 (Unauthorized).
2016-10-05T14:03:05.142 UserName: Password:
4
Is the Password value that you got above the token that you got directly from your feed? Or did you generate it with nuget.exe sources add|update on your local machine?brettsam
@brettsam I generated the token from the Team Services online portalVinyl Warmth
You can try to create an alternative credential on VSTS, then add your feed source by using nuget.exe sources add -name {your feed name} -source {your feed URL} -username {alternative user name} -password {your PAT} command. On the other hand It seems that the issue is not related to credential (unable to load the service index for source), what're detail steps to create and user Azure function?starian chen-MSFT

4 Answers

23
votes

Try using key="ClearTextPassword" (instead of key="Password"). If you use Password, NuGet assumes the value is encrypted and will try to decrypt it.

For example, I created a package feed in VSTS, then created a personal access token and used this:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="MyPrivateFeed" value="https://brettsam.pkgs.visualstudio.com/_packaging/stackoverflow/nuget/v3/index.json" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSourceCredentials>
    <MyPrivateFeed>
      <add key="Username" value="brettsam" />
      <add key="ClearTextPassword" value="{PAT}" />
    </MyPrivateFeed>
  </packageSourceCredentials>
</configuration>
0
votes
<add key="MyPrivateFeed" value="https://brettsam.pkgs.visualstudio.com/_packaging/stackoverflow/nuget/v3/index.json" />
  </packageSources></activePackageSource> key="ClearTextPassword" value="{PAT}" /></configuration><activePackageSource></MyPrivateFeed><add key="MyPrivateFeed" value="https://brettsam.pkgs.visualstudio.com/_packaging/stackoverflow/nuget/v3/index.json" /></packageSources><packageSourceCredentials><add key="Username" value="brettsam" /><add key="All" value="(Aggregate source)" /><?xml version="1.0" encoding="utf-8"?></configuration><add key="All" value="(Aggregate source)" /><add key="MyPrivateFeed" value="https://brettsam.pkgs.visualstudio.com/_packaging/stackoverflow/nuget/v3/index.json" /><add key="Username" value="brettsam" /><add key="MyPrivateFeed" value="https://brettsam.pkgs.visualstudio.com/_packaging/stackoverflow/nuget/v3/index.json" /</activePackageSource><add key="ClearTextPassword" value="{PAT}" /><add key="Username" value="brettsam" /></packageSources><add key="All" value="(Aggregate source)" /><packageSourceCredentials> <add key="All" value="(Aggregate source)" />
0
votes

key="ClearTextPassword" value="{PAT}" /><packageSources, <add key="Username" value="brettsam