VssClientCredentials with accesstoken credentials

2019-01-29 09:36发布

问题:

I am reading licensing information of user from VSTS but it is not authenticating itself with Access Token credentials.

string accessToken = "{AccessTokenHere}";
                VssOAuthAccessTokenCredential accessTokenCredentials = new VssOAuthAccessTokenCredential(new VssOAuthAccessToken(accessToken));
                var credentials = new VssClientCredentials(accessTokenCredentials);

                VssConnection connection = new VssConnection(new Uri(this.ServerUri), credentials);
                var licensingHttpClient = connection.GetClient<LicensingHttpClient>();
                var accountEntitlement = licensingHttpClient.GetAccountEntitlementAsync().Result;
                var license = accountEntitlement.License;

回答1:

Try the code below:

        String collectionUri = "https://{account}.visualstudio.com";
        VssBasicCredential creds = new VssBasicCredential("", personalaccesstoken);
        VssConnection connection = new VssConnection(new Uri(collectionUri), creds);
        var licensingHttpClient = connection.GetClient<LicensingHttpClient>();
        var accountEntitlement = licensingHttpClient.GetAccountEntitlementAsync().Result;
        var license = accountEntitlement.License;

About personal access token, you can refer to the link below:

https://docs.microsoft.com/en-us/vsts/accounts/use-personal-access-tokens-to-authenticate?view=vsts