2017-11-18 5 views
0

클라이언트 측에서 생성되어 세션 저장 공간에 저장되는 JWT 토큰을 가지고 있습니다. Authorize 특성으로 장식 된 ASP.NET WebApi 끝점으로 전달됩니다. 사용자가 내 응용 프로그램에서 로그 아웃하면 토큰을 삭제하고 Azure에서 사용자를 서명 할 수 있습니다.Azure SSO JWT 토큰은 로그 아웃 후에도 유효합니다.

그러나 사용자가 다른 Azure 사이트로 이동하여 로그 아웃하면 내 응용 프로그램에 사용 된 토큰이 유효합니다 (사용자가 로그 아웃 된 경우에도 유효합니다). WebApi가 Azure로 다시 전화를 걸어 다시 인증하도록하려면 어떻게해야합니까? 각 요청에 대한 토큰?

감사합니다,

답변

0

푸른 AD JWT 액세스 토큰은 자체 서명하고 페이로드는 토큰이 유효한 때까지 특급 타임 스탬프, 날짜를 포함합니다. 신뢰 당사자 응용 프로그램은 Azure AD와 통신하지 않고 토큰의 유효성을 검사하지만 자체 서명 된 정보를 사용합니다.
언급 한대로 로그 아웃하는 유일한 방법은 토큰을 삭제하는 것입니다.

언제 당신이 단지 로그 아웃 새로운 액세스 토큰을 만들 수있는 가능성 푸른 AD SSO에서 로그 아웃 하지만, 이미 발행 된 액세스 토큰이 만료 될 때까지 계속 작동합니다.
Azure AD SSO에서 로그 아웃하고 응용 프로그램에 대한 액세스 토큰을 유지하십시오. 액세스 할 수는 있습니다.

두 응용 프로그램 모두에서 로그 아웃하려면 두 응용 프로그램 모두에 대한 액세스 토큰을 삭제해야합니다.

+0

답변 해 주셔서 감사합니다. 따라서 한 탭에서 microsoftonline과 같은 것으로 이동하면 두 번째 탭에서 하늘색 포털로 이동합니다. 그런 다음 microsoftonline에서 로그 아웃하고 하늘색 포털에서 새로 고침을 누르면 Azure 포털에서 즉시 서명됩니다. 그들은 단지 토큰 만료를 매우 짧게 설정하고 토큰을 재발행합니까? – JoeS

+0

그들은 아마도이 샘플에서 설명한대로 Single Sign Out을 구현할 것입니다. https://github.com/Azure-Samples/active-directory-dotnet-web-single-sign-out. 앱은 거기에있는 기술을 사용하여 AAD 세션이 활성 상태인지 확인할 수 있습니다. – juunas