데이터 카탈로그에 연결하고 테이블과 관련된 정보를 가져 오는 것으로 간주되는 백그라운드 응용 프로그램이 있습니다. 백그라운드 애플리케이션 이래로 데이터 카탈로그 요청을 인증하기 위해 사용자가 개입 할 수 없습니다. 그래서 대신 ClientID와 ClientSecret을 사용하여 인증을 시도하고 있습니다.응용 프로그램 토큰 기반 요청이 401 권한이 없음을 반환 함
string authorityUri = "https://login.microsoftonline.com/{adtenanthere}";
string resourceUri = "https://datacatalog.azure.com";
string clientId = "{clientidhere}";
string clientSecret = "{clientsecrethere}";
AuthenticationContext authContext1 = new AuthenticationContext(authorityUri, false);
ClientCredential credential = new ClientCredential(clientId, clientSecret);
AuthenticationResult authResult = authContext1.AcquireTokenAsync(resourceUri, credential).Result;
string token = authResult.CreateAuthorizationHeader();
나는 데이터 카탈로그 API 요청에 대해이 토큰을 사용하면 성공적인, 그러나, 요청이 "401을 반환되고있는이 방법을 사용하여 토큰 얻기 - 권한이 :. 잘못된 자격 증명 때문에 액세스가 거부되었습니다 당신은 필요는 없습니다 제공 한 자격 증명을 사용하여이 디렉토리 또는 페이지를 볼 수있는 권한 "이 있어야합니다.
내가 여기에서 누락 될 수있는 제안을하시기 바랍니다.
문자열 authorityUri = "https://login.windows.net/common/oauth2/authorize";
모니카의 권한 url과 리소스 url에 올바른 값이 있는지 확인하십시오. – umasankar