Azure 애플리케이션에서 어떻게 로그아웃하나요?

1816 단어
물어보기:

 
Azure AD 응용 프로그램과 웹 응용 프로그램을 만들었습니다. Azure AD 응용 프로그램은 AAD 인증을 사용합니다. 이것은 잘 작동합니다. 내 URL로 이동하고 인증되지 않으면 내 자격 증명을 입력해야 합니다. 내 자격 증명을 입력할 때 내 응용 프로그램으로 전달되지만 문제가 발생합니다. 어떻게 로그아웃합니까? 이 질문을 찾았고 옵션 2를 구현하고 싶었습니다. 코드를 사용하여 로그아웃하지 않고 Azure AD가 제공하는 링크를 사용합니다. 요점은, 이것을 구성할 단서가 없습니다.

Add some specific links for logging in and logging out

Azure의 어디에, 어떤 포털(신규 또는 이전)에서 구성할 수 있습니까?그는 또한 샘플과 함께 링크를 제공했지만 이 샘플을 이해하지 못합니다(저는 Azure를 처음 접하는 사람입니다).
 
 
대답:

 
당신이 할 수 있는 일은 애플리케이션에서 로그아웃 URI를 구성하고 사용자가 로그아웃 링크나 버튼을 클릭하면 사용자를 해당 URI로 리디렉션하는 것입니다. 로그아웃 URI의 형식은 다음과 같습니다.

https://login.microsoftonline.com/{0}/oauth2/logout?post_logout_redirect_uri={1}

여기서 {0}은 테넌트 ID 또는 Azure AD 이름(something.onmicrosoft.com)이고 {1}은 Azure AD 끝에서 로그아웃 프로세스가 완료된 후 사용자가 다시 리디렉션되는 애플리케이션에 대한 링크입니다.
중국 Azure 환경인 경우 해당 URI 형식은 다음과 같습니다.

https://login.chinacloudapi.cn/{0}/oauth2/logout?post_logout_redirect_uri={1}

위의 post_logout_redirect_uri 매개변수 값은 인코딩된 URI 쿼리 문자열이어야 합니다. 예를 들어 post_logout_redirect_uri 매개변수 값이 http://localhost:9081/인 경우 다음 형식으로 작성해야 합니다.

https://login.chinacloudapi.cn/b63fb916-ea59-81ea-8f3f-d70a622a1a80/oauth2/logout?post_logout_redirect_uri=http%3A%2F%2Flocalhost%3A9081

 
그러나 이것은 브라우저 쿠키를 지우지 않습니다. 요청 개체에서 쿠키를 명시적으로 삭제해야 할 수 있습니다.

foreach (string cookie in HttpContext.Current.Request.Cookies.AllKeys) { HttpContext.Current.Response.Cookies[cookie].Expires=DateTime.Now.AddDays(-1);}

 
 
원본 링크
 

좋은 웹페이지 즐겨찾기