안녕하세요 Yuna Yoon.
공유해 주신 내용을 보면, 애플리케이션이 올바른 Production FQDN을 사용하여 요청을 보내고 있는데도 Identity Provider(IdP) 에서 redirect_uri_mismatch 오류를 반환하고 있다면, 새로운 Production Callback URL이 IdP의 애플리케이션에 등록된 Redirect URI 목록에 아직 추가되지 않았을 가능성이 높습니다.
Microsoft Entra ID (Azure AD) 를 사용하는 경우, 먼저 App Registration > Authentication 메뉴에서 애플리케이션의 설정을 확인하고, 정확한 Production Redirect URI가 등록되어 있는지 확인하는 것을 권장합니다. 특히 Protocol (http vs https), Hostname, Path, Port Number 및 Trailing Slash를 주의해서 확인해야 합니다. OAuth Provider는 Redirect URI를 정확한 문자열로 비교하기 때문에, 아주 작은 차이만 있어도 이 오류가 발생할 수 있습니다.
Okta의 경우 Sign-in Redirect URIs, Auth0의 경우 Allowed Callback URLs에서 유사한 설정을 확인할 수 있습니다. 일반적으로 Migration 또는 Transition 기간에는 Staging URL과 Production URL을 동시에 등록해 둘 수 있습니다.
구성이 Terraform 또는 다른 IaC(Infrastructure as Code) 플랫폼을 통해 관리되고 있다면, Redirect URI 변경 사항이 단순히 Source Control에 Commit된 것에 그치지 않고 실제로 IdP에 적용되었는지도 확인해야 합니다. Portal에서 수동으로 설정을 변경했더라도 이후 Terraform Deployment 과정에서 기존 설정으로 다시 적용되어 문제가 재발하는 경우가 있습니다.
또한 Identity Provider에서 명시적으로 지원하지 않는 한 Wildcard에 의존하고 있지 않은지도 확인하는 것이 좋습니다. 대부분의 최신 OAuth 구현에서는 보안상의 이유로 Callback URL을 명시적으로 등록하도록 요구합니다.
Best Practice로는 Browser에서 실제 Authorization Request에 전달되는 정확한 redirect_uri 값을 확인한 다음, 이를 IdP에 설정된 값과 문자 단위로 비교하는 것을 권장합니다. 대부분의 경우 이 두 값을 직접 비교하면 오류를 발생시키는 Redirect URI의 불일치 부분을 빠르게 찾을 수 있습니다.
이 답변이 문제를 해결하는 데 도움이 되었기를 바랍니다. 도움이 되었다면 “Accept Answer” 를 클릭해 주시면 답변이 문제 해결에 도움이 되었음을 확인할 수 있습니다.
Jason