Azure AD 리디렉션 URI 설정 자세한 설명

리디렉션 URI란 무엇인가요?

리디렉션 URI(Redirect URI)는 OAuth 2.0 인증 흐름에서 핵심적인 요소입니다. 인증 서버(이 경우 Azure AD)가 인증 완료 후 사용자를 다시 보낼 위치를 지정합니다. 보안상의 이유로 Azure AD는 미리 등록된 리디렉션 URI로만 인증 토큰을 반환합니다.

왜 문제가 발생하나요?

Teams 앱은 인증이 되지만 Outlook에서는 안 되는 이유는, 현재 Azure AD에 Teams의 리디렉션 URI만 등록되어 있고 Outlook의 리디렉션 URI는 등록되어 있지 않기 때문입니다.

Azure AD에 Outlook 리디렉션 URI 추가하는 방법

1. Azure 포털 접속 및 앱 등록 찾기

  1. Azure 포털에 로그인
  2. "Azure Active Directory" → "앱 등록" 메뉴로 이동
  3. 현재 Teams에서 사용 중인 앱을 선택

2. 리디렉션 URI 추가

"인증" 탭에서 리디렉션 URI 섹션을 찾아 다음과 같이 Outlook 관련 URI를 추가합니다:

https://outlook.office.com/auth/callback
https://outlook.office365.com/auth/callback
https://outlook.live.com/auth/callback

3. 구체적인 예시

예를 들어, 현재 Teams용으로 등록된 리디렉션 URI가 다음과 같다면:

https://teams.microsoft.com/auth/callback

여기에 Outlook URI를 추가하여 최종적으로는 다음과 같이 됩니다:

https://teams.microsoft.com/auth/callback
https://outlook.office.com/auth/callback
https://outlook.office365.com/auth/callback
https://outlook.live.com/auth/callback

4. SPA(단일 페이지 애플리케이션) 설정 예시

만약 애플리케이션 유형이 SPA로 설정되어 있다면:

{
  "spa": {
    "redirectUris": [
      "https://teams.microsoft.com/auth/callback",
      "https://outlook.office.com/auth/callback",
      "https://outlook.office365.com/auth/callback"
    ]
  }
}

Outlook 사이드 앱 매니페스트 설정

추가로 Outlook 사이드 앱 매니페스트(manifest.json)에도 관련 설정이 필요할 수 있습니다:

{
  "id": "your-add-in-id",
  "version": "1.0.0",
  "manifestVersion": "1.1",
  "host": {
    "desktopFormFactor": {
      "functionFile": "https://your-app-url/function-file.html",
      "sourceLocation": "https://your-app-url/taskpane.html"
    }
  },
  "authorizations": [
    {
      "resource": "https://graph.microsoft.com",
      "scopes": ["User.Read", "Mail.Read"]
    }
  ]
}

이렇게 Azure AD에 Outlook 관련 리디렉션 URI를 추가하면, 동일한 인증 로직으로 Teams와 Outlook 모두에서 앱이 정상적으로 인증을 처리할 수 있게 됩니다.




댓글