Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

Azure Active Directory - The resource principal named api://...[client_id]... was not found in the tenant

App 등록을 아래의 글에 따라,

C# - Azure AD 인증을 지원하는 ASP.NET Core/5+ 웹 애플리케이션 예제 구성
; https://www.sysnet.pe.kr/2/0/12614

다음의 구성 정도로 했습니다.

name: test-auth-webapp
Certificates & secrets: 1개 생성
API permissions: Directry.Read.All, User.Read.All

그다음 아래와 같은 API를 호출했는데,

// MICROSOFT GRAPH – HOW TO IMPLEMENT IAUTHENTICATIONPROVIDER
// ; https://adrianszen.com/2019/06/16/microsoft-graph-how-to-implement-iauthenticationprovider/

public async Task AuthenticateRequestAsync(HttpRequestMessage request)
{
    var clientApplication = ConfidentialClientApplicationBuilder.Create(this.clientId)
        .WithClientSecret(this.clientSecret)
        .WithTenantId(this.tenantId)
        .Build();

    // Client credential flows - Client credential flows in MSAL.NET
    // https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/Client-credential-flows
    var result = await clientApplication.AcquireTokenForClient(this.appScopes).ExecuteAsync();

    if (request.Headers.Contains("Authorization") == false)
    {
        request.Headers.Add("Authorization", result.CreateAuthorizationHeader());
    }
}

이런 오류가 발생합니다.

AADSTS500011: The resource principal named api://...[client_id]... was not found in the tenant named ...[tenant_id].... This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You might have sent your authentication request to the wrong tenant.

Trace ID: ...[생략]...
Correlation ID: ...[생략]...
Timestamp: ...[생략]...


분명히 Azure Active Directory에서 해당 "[client_id]"와 "[tenant_id]"로 지정된 App을 등록했는데 저렇게 오류가 발생합니다. 이거저거 하다 보니, "Application ID URI"를 생성하지 않으면 저렇게 찾지 못하는 오류가 발생하는데요, ^^; 따라서 해당 App 설정의 "Expose an API" 범주에서,

not_found_in_tenant_1.png

위의 화면처럼 "Application ID URI" 우측에 있는 "Set" 버튼을 눌러주면 "[client_id]"에 해당하는 api 경로가 다음과 같은 식으로 생성됩니다.

api://30dabf24-4603-4dbe-bf29-e09a89c9be72

이제 다시 AcquireTokenForClient 메서드를 호출하면 오류 없이 정상적으로 동작합니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 7/29/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 136  137  138  139  140  141  142  143  144  [145]  146  147  148  149  150  ...
NoWriterDateCnt.TitleFile(s)
1521정성태11/1/201333548VS.NET IDE: 79. IIS 7.5 - Global.asax.cs처럼 초기에 실행되는 코드에 Breakpoint를 잡는 방법
1520정성태10/31/201328406오류 유형: 191. Visual Studio 2010 - 웹 애플리케이션 생성 시 "The project type is not supported by this installation." 오류 발생 해결
1519정성태10/31/201354145기타: 36. SYSTEM 또는 TrustedInstaller 소유로 되어 있는 폴더/파일을 삭제하는 방법 [5]
1518정성태10/30/201331710VS.NET IDE: 78. Visual Studio 확장으로 XmlCodeGenerator 제작하는 방법
1517정성태10/28/201330914디버깅 기술: 56. 덤프 파일에 핸들/스레드 정보를 포함하는 방법 [1]
1516정성태10/28/201336317.NET Framework: 390. FolderBrowserDialog보다 더 쓸만한 대화창이 필요하다면? [1]
1515정성태10/24/201338860VS.NET IDE: 77. Visual Studio 확장(VSIX) 만드는 방법 [5]
1514정성태10/24/201372916개발 환경 구성: 202. Internet Explorer 11을 7, 8, 9, 10 버전으로 인식시키는 방법 [9]파일 다운로드1
1513정성태10/23/201328306개발 환경 구성: 201. Azure Blob Storage의 DNS 경로를 사용자 DNS로 바꾸는 방법 [1]
1512정성태10/18/201331785개발 환경 구성: 200. IIS AppPool의 실행 계정을 변경하는 방법
1511정성태10/12/201329729.NET Framework: 389. The 3n + 1 problem의 C#/Java 버전 풀이 [2]
1510정성태10/8/201330682오류 유형: 190. 윈도우 서버 2012 R2 설치 후 인텔 NIC으로 인한 WMI 오류 발생
1509정성태10/8/201335982오류 유형: 189. Windows Server 8.1/2012 R2 - IME 비정상 종료 현상 [1]
1508정성태10/4/201330775.NET Framework: 388. 일반 닷넷 프로젝트에서 WinRT API를 호출하는 방법 [2]파일 다운로드1
1507정성태9/30/201328611오류 유형: 188. The key 'LocalizedPerfCounter' does not exist in the appSettings configuration section.
1506정성태9/30/201331001오류 유형: 187. Parameter "basePath" cannot be a relative path
1505정성태9/26/201379689기타: 35. Microsoft Office 2007 인증 생략하는 방법 [10]
1504정성태9/24/201333315.NET Framework: 387. UDP 브로드캐스팅을 이용해 서비스 측의 IP 주소를 구하는 방법 [1]파일 다운로드1
1503정성태9/21/201339098개발 환경 구성: 199. Visual Studio - github 연동 [7]
1502정성태9/21/201342827개발 환경 구성: 198. Visual Studio - git을 이용한 로컬 소스 컨트롤
1501정성태9/21/201351568개발 환경 구성: 197. Visual Studio를 위한 Git 환경 설정 [5]
1500정성태9/20/201349417.NET Framework: 386. C# 버전의 한글 형태소 분석기 [1]파일 다운로드1
1499정성태9/20/201325283개발 환경 구성: 196. Windows Azure - Cloud Service의 인스턴스 타입 변경하는 방법
1498정성태9/20/201332215Windows: 76. 윈도우 8.1 / 서버 2012 R2 마이그레이션 [5]
1497정성태9/20/201364781웹: 28. IE 11로 바꾼 후 발생하는 문제 정리
1496정성태9/20/201336377Windows: 75. 윈도우 8.1, 2012 R2 설치 후 원격 접속이 안 되는 문제
... 136  137  138  139  140  141  142  143  144  [145]  146  147  148  149  150  ...