Azure AD에서 AADSTS900144 필수 매개 변수 누락 오류 해결하기
By Mirko Peters ·
인증 오류에 막혀 꼼짝 못 하는 상황을 반기는 사람은 없지만, Azure AD의 AADSTS900144 필수 매개 변수 누락 오류는 앱 개발자부터 IT 관리자까지 모두를 답답하게 만드는 전형적인 걸림돌입니다. 이 글에서는 이 오류의 원인이 무엇인지, 무엇을 먼저 확인해야 하는지, 그리고 사용자가 다시 접속할 수 있도록 하는 단계를 정확히 짚어 봅니다. 흔한 매개 변수 실수부터 OAuth 흐름과 클라우드 앱 통합에 대한 심층 분석까지, 원인과 해결 방법을 차례로 살펴보겠습니다.
Automatically translated with AI from the original post. Read the English original

인증 오류에 막혀 꼼짝 못 하는 상황을 반기는 사람은 없지만, Azure AD의 AADSTS900144 필수 매개 변수 누락 오류는 앱 개발자부터 IT 관리자까지 모두를 답답하게 만드는 전형적인 걸림돌입니다. 이 글에서는 이 오류의 원인이 무엇인지, 무엇을 먼저 확인해야 하는지, 그리고 사용자가 다시 접속할 수 있도록 하는 단계를 정확히 짚어 봅니다. 흔한 매개 변수 실수부터 OAuth 흐름과 클라우드 앱 통합에 대한 심층 분석까지, 원인과 해결 방법을 차례로 살펴보겠습니다.
Microsoft 365, Azure, Power Platform 또는 Entra ID에 연결되는 모든 솔루션을 지원하신다면, 클라이언트 측과 서버 측 해결 방법에 대한 팁을 여기서 찾으실 수 있습니다. 실무 문제 해결 사례, 엔터프라이즈 환경에 맞는 모범 사례, 클라우드 거버넌스 관련 추가 자료 링크도 모두 담겨 있으니, 이 오류가 다시 나타나지 않도록 미리 예방하는 데 활용해 보시기 바랍니다.
Azure AD 인증에서 “AADSTS900144”가 발생하는 이유는 무엇인가요?
“AADSTS900144: Request body must contain the following parameter” 오류는 Azure Active Directory(또는 Microsoft Entra ID)로 보낸 인증 요청에 핵심 정보가 빠져 있을 때 나타납니다. 쉽게 말해, Azure는 토큰 요청에서 grant_type이나 client_id와 같은 정보를 찾는데 이를 찾지 못하거나, 정보는 있더라도 형식이 잘못되었거나 잘못된 위치에 들어 있는 상태입니다.
이 오류는 OAuth 2.0 흐름에서 가장 흔하게 발생하며, 특히 사용자나 앱이 엔터프라이즈 클라우드 서비스에 로그인하려고 할 때 자주 나타납니다. 보통은 인증 코드를 토큰으로 교환할 때 보내는 요청 본문(request body) 매개 변수에 문제가 있을 때 발생합니다. 필수 매개 변수가 누락되었거나 철자가 틀렸거나, 예상된 POST 본문 바깥에 위치해 있으면 Azure AD는 AADSTS900144 코드와 함께 요청 처리를 중단합니다.
사용자 지정 비즈니스 앱을 통합하거나, Azure에 새 앱을 등록하거나, Microsoft Teams와 같은 데스크톱 클라이언트에서 인증 문제가 발생할 때 이 오류를 보게 될 수 있습니다. 때로는 단순한 복사 붙여넣기 실수나 앱 등록 정보를 살짝 업데이트한 것만으로도 매개 변수가 어긋날 수 있습니다. 오류 메시지는 난해해 보이지만, 사실상 Azure가 “요청을 다시 확인하고 누락된 부분을 채우라”고 알려주는 것입니다.
다중 테넌트 애플리케이션을 다룬다면, 테넌트 컨텍스트나 서비스 엔드포인트가 맞지 않을 때도 비슷한 혼란이 생길 수 있다는 점을 유의하세요. 매개 변수가 실제로는 잘못된 경로로 전달된 것뿐인데도 누락된 것처럼 보이게 만들 수 있습니다. 이런 동작 원리를 이해하면 지원 팀의 문제 해결 속도가 빨라지고 부담도 줄어듭니다.
요청 본문 매개 변수의 흔한 문제와 빠른 해결 방법
AADSTS900144 오류는 거의 대부분 토큰 요청에서 무언가가 빠졌거나 잘못된 위치에 들어간 경우에 해당합니다. client_id와 grant_type이 대표적인 용의자입니다. 앱이 필수 매개 변수를 하나라도 빠뜨리면 Azure AD의 토큰 엔드포인트는 요청을 그대로 거부합니다. HTTP POST 메서드를 사용하고 있는지도 다시 확인하세요. 이 경우에는 GET 등 다른 메서드로는 동작하지 않습니다.
먼저 앱이 application/x-www-form-urlencoded 콘텐츠 형식으로 요청을 보내고 있는지 확인하세요. 잘못된 콘텐츠 형식 때문에 Azure AD가 읽을 수 없는 매개 변수를 계속 찾는 경우가 생각보다 많습니다. 다음으로 HTTP 요청 도구(Postman, curl, Fiddler 등 무엇이든)를 열고 원시 본문을 살펴보세요. client_id, grant_type, client_secret 등이 실제로 페이로드에 들어 있는지, 아니면 쿼리 문자열 값이나 헤더에 잘못 들어가 있지는 않은지 확인합니다.
앱 등록을 수정하고 있다면, 권한 부여 흐름(grant flow)에 따라 필요한 매개 변수가 달라질 수 있다는 점을 기억하세요. 예를 들어 인증 코드 권한 부여를 사용할 때는 code도 함께 전달해야 합니다. 항상 명확하게 드러나지는 않으므로, 작업을 마치기 전에 사용 중인 grant type을 Azure 문서와 반드시 대조해 확인하세요.
다중 테넌트 앱에서는 대상 테넌트에 특정 GUID나 값이 필요한데도 /common 엔드포인트로 요청을 보내지 않도록 주의하세요. 그렇지 않으면 “매개 변수 누락”처럼 보이는 문제가 실제로는 잘못 라우팅된 요청일 수 있습니다. 특히 교차 테넌트 환경에서 잘못된 URL로 요청을 보내면 경험 많은 개발자도 어려움을 겪을 수 있으므로, 엔드포인트와 매개 변수를 함께 확인하세요. 이 두 가지를 바로잡으면 대부분의 경우 골칫거리인 AADSTS900144 오류도 바로 사라집니다.
클라이언트 측 문제 해결: 캐시된 자격 증명 지우기 및 앱 재설정
때로는 코드가 문제가 아니라 로컬 머신이 인증 흐름을 망가뜨리고 있는 경우입니다. 캐시된 자격 증명과 오래된 쿠키가 만료된 토큰을 계속 붙잡고 있거나 매개 변수 데이터를 손상시킬 수 있으며, 특히 Microsoft Teams나 Outlook 같은 데스크톱 앱에서 자주 발생합니다. 이런 상황에서는 백엔드 문제를 해결한 뒤에도 사용자에게 AADSTS900144 메시지가 계속 표시됩니다.
가장 쉬운 첫 단계는 저장된 자격 증명을 모두 지우는 것입니다. Windows에서는 자격 증명 관리자를 사용해 계정과 연결된 캐시 토큰을 제거합니다. 웹 앱에서는 브라우저 쿠키와 사이트 데이터를 삭제하면 깨끗한 재인증 과정을 시작할 수 있습니다. 특히 Microsoft Teams에서 문제가 고집스럽게 지속된다면, 모든 위치에서 로그아웃하고, 앱을 닫고, 캐시 폴더를 삭제한 뒤 다시 시작하는 로컬 초기화를 시도해 보십시오. 일부 사용자는 흔적이 남지 않도록 기기 설정에서 Teams 계정 프로필을 강제로 삭제한 다음 Teams를 처음부터 다시 설치해야 할 수도 있습니다.
다른 사용자를 지원하고 있다면 간단한 체크리스트를 제공하십시오. 자격 증명 삭제, 앱 종료, 캐시 삭제, 다시 로그인 순서면 충분합니다. 이렇게 하면 앱을 다시 사용하기만 하면 되는 업무 사용자의 작업 중단과 혼란을 줄일 수 있습니다. IT 지원 팀은 더 깊이 들어가기 전에 이전 인증 데이터가 모두 제거되었는지 항상 확인해야 합니다. 남아 있는 불필요한 데이터가 AADSTS900144 오류가 계속 발생하는 주된 원인이기 때문입니다.
Microsoft Teams 거버넌스나 반복되는 인증 문제를 다루고 있다면, 기술적 수정만으로는 거버넌스가 "해결"되지 않는다는 점을 인식하는 것이 중요합니다. 거버넌스에 끝이 없는 이유와 이를 실제로 운영하는 방법을 더 깊이 알아보려면 Teams 거버넌스와 통제의 환상에 관한 이 가이드를 참고하거나, 실용적인 전략을 얻고 싶다면 이 Teams 수명 주기 자동화 플레이북을 살펴보십시오.
엔터프라이즈 앱에서 AADSTS900144를 예방하기 위한 모범 사례
AADSTS900144 오류를 예방하는 것은 결국 OAuth 요청과 앱 구성을 얼마나 엄격하게 관리하느냐에 달려 있습니다. Azure AD 토큰 엔드포인트로 요청을 보내기 전에 필수 매개 변수, 특히 client_id와 grant_type을 반드시 검증하는 습관을 들이십시오. 배포 파이프라인에 자동화된 검사를 넣으면 누락되거나 잘못 형식화된 매개 변수를 운영 환경에 도달하기 전에 잡아낼 수 있어, 나중에 쌓일 수많은 지원 티켓을 줄일 수 있습니다.
Microsoft Entra ID의 개발자 도구를 사용해 인증 요청을 시뮬레이션하고, Azure AD가 실제로 무엇을 보는지 확인하십시오. 이렇게 하면 누락된 매개 변수뿐 아니라, 특정 테넌트에서 유효한 요청을 차단할 수 있는 엔드포인트 불일치나 정책 문제도 찾아낼 수 있습니다. 모의 Entra ID 엔드포인트를 사용한 단위 테스트를 구성하면, 매개 변수 문제를 출시 시점이 아니라 개발 단계에서 드러내어 예상치 못한 상황을 더욱 줄일 수 있습니다.
거버넌스 요구 사항이 많거나 여러 개발 팀이 함께 일하는 조직이라면, 검증 절차를 인프라 as 코드(IaC) 방식과 연결하십시오. ARM 또는 Bicep 배포 템플릿에 스키마 검사를 적용해 앱 등록 시 필수 OAuth 매개 변수가 모두 포함되도록 강제할 수 있습니다. 특히 앱이 발전하면서 생기는 설정 드리프트와 잘못된 구성의 위험을 줄일 수 있습니다.
보안 중심 접근 방식을 원한다면 OAuth 동의 권한 부여와 정책 시행을 꼼꼼히 살펴보십시오. 공격자는 느슨한 동의 설정을 악용하기를 좋아하므로, 사용자 동의를 엄격히 제한하고, 승인된 게시자만 허용하며, 관리자 승인 워크플로를 적용하십시오. 이러한 위협과 완화 방법에 대한 체계적인 개요가 필요하다면 Entra ID OAuth 동의 공격 분석을 읽어 보십시오. 거버넌스 프로세스를 개선하고 있다면 자동화, RBAC, Azure Policy를 활용하는 방법도 유용합니다. 설계 관점과 실행 가능한 통제 방안은 Azure 엔터프라이즈 거버넌스 전략 가이드를 참고하십시오.