2014-07-23 3 views
0

내 사용자를 인증하는 푸른 Active Directory를 사용하고 있는데 이것이 내가 사용자에게 리디렉션 URL입니다 :하늘빛의 Active Directory session_state

내가 얻는 응답이 게시물의 형태로 제공하고있다
https://login.windows.net/common/oauth2/authorize?response_type=id_token&redirect_uri=https%3A%2F%2Ftest.com%2F&client_id=CB08A120-12BD-11E4-8143-DA6DD34483DE&scope=openid&response_mode=form_post&nonce=50b4146c-585c-49e5-a78e-56d9685c56f2 

이 두 매개 변수는 다음과 같습니다.

그러나 정확히 무엇이 session_state인지 확실하지 않습니다. 설명서를 살펴 보았지만 좋은 대답을 찾을 수 없습니다. 문서에서 session_state을 발견 한 장소는 herehere이지만 아무도 크게 도움이되지 않았습니다. session_state 쿠키를 유지해야하고 앞으로 Azure에 요청할 때마다 뭔가를 보내야합니까? 아니면 그것의 목적과 그것을 처리하는 적절한 방법은 무엇입니까?

답변

6

Azure AD STS에서 인증 된 세션을 식별합니다.

첫 번째 대화식 로그인 후에 OpenIDConnect SSO 요청을 다시 발행하면 다시 로그인하라는 메시지가 표시되지 않지만 앱은 새로운 토큰을 다시 가져 오지만 sessions_state는 동일합니다. 이전 응답과 같습니다. 그러나 SSO 요청에서 & prompt = login을 추가하면 사용자는 다시 로그인하라는 메시지를 표시하고 이번에는 반환 할 sessions_state가 달라집니다.

대부분의 응용 프로그램은 값을 무시할뿐입니다. 실제로 다시 인증 된 사용자가 관리하는 내용을 추적하려는 응용 프로그램은 무시합니다.

희망이 도움이됩니다.

+0

OpenIDConnect SSO 요청을 재발급한다고 할 때 요청과 함께 'session_state'를 전달하면 다시 로그인하라는 메시지가 표시되지 않는다는 것을 의미합니까? – srchulo

+0

아니요, 새 세션이 만들어 졌는지 (마지막 session_request와 현재 세션을 비교하여) * 탐지 *하는 데 사용할 수 있습니다. 아무 것도 전달되지 않으면 사용자는 로그인하라는 메시지를 다시 표시하지 않습니다 (쿠키가 여전히 유효하다고 가정). '& prompt = login'을 요청에 전달하면, 사용자는 다시 인증을받을 수 있습니다. –