I have created my application in AzureAD with the permission "Azure DevOps".
Below is my code to fetch project list from Azure DevOps
using (HttpClient client = new HttpClient())
{
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, "https://login.microsoftonline.com/21d63aec-6502-4638-98f3-04587e69d53b/oauth2/v2.0/token");
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Dictionary<String, String> form = new Dictionary<String, String>()
{
{ "grant_type", "client_credentials" },
{ "client_id", "ac313ad2...." },
{ "scope", "https://app.vssps.visualstudio.com/.default" },
{ "client_secret", "BX0RldhqL...." }
};
requestMessage.Content = new FormUrlEncodedContent(form);
HttpResponseMessage responseMessage = client.SendAsync(requestMessage).Result;
if (responseMessage.IsSuccessStatusCode)
{
String body = responseMessage.Content.ReadAsStringAsync().Result;
JsonConvert.PopulateObject(body, tokenModel);
}
}
using (ProjectHttpClient projectHttpClient = new ProjectHttpClient(new Uri("https://dev.azure.com/AlfabetChennaiDev"), new VssOAuthAccessTokenCredential(tokenModel.AccessToken)))
{
IEnumerable<TeamProjectReference> projects = projectHttpClient.GetProjects().Result;
}
But I'm getting error as "You are not authorized to access https://dev.azure.com."
I am using oAuth 2.0 Client Credential flow to get access token. What could be the reason