2014-12-28 9 views
0

인증 요청 (3.1.2.1)과 인증 응답 (3.1.2.5) 사이에 인증 서버는 요청을 검증하고, 사용자를 인증하고, 응답을 보내기 전에 사용자 동의를 얻을 책임이 있습니다.OpenID 연결 암시 적 플로우 응답

http://openid.net/specs/openid-connect-core-1_0.html#ImplicitFlowAuth

어떻게하는 SPA 응용 프로그램에서 작동하도록되어?

승인 서버는 사용자를 인증 할 수 없습니다 (사용자가 누구인지 인증 서버에 알리는 쿠키, http 헤더 또는 URL 조각이 없으므로 어떻게 보이지 않습니다). 사용자를 인증 끝점으로 리디렉션하면 SPA가 언로드됩니다. 난 서버 redirect_uri (내가 암시 적 흐름의 전체 지점을 이해했습니다)이 없기 때문에 끝 점이 다시 내 SPA에 도달 할 수 없습니다.

분명히 나는 ​​뭔가를 놓치고 있습니다. 암묵적인 흐름에서 사용자에게 인증 및 사용자 권한 부여 크롬이 어떻게 표시되어야합니까?

답변

0

OAuth 2.0/OpenID Connect는 응용 프로그램과 인증을 구분합니다. 무언가가로드되기 전에 인증되지 않은 클라이언트/사용자를 응용 프로그램에서 리디렉션하고 SPA에서 인증 응답 만 처리합니다. 리디렉션 URI는 SPA를 가리 킵니다. 어쨌든 Ajax에서 OAuth 2.0/OpenID Connect 댄스를 처리하지는 않지만 전체 브라우저에서 처리해야합니다.

+0

감사합니다. 팝업을 사용하여 응답을 캡처하여 SPA에 반환하면 SPA가로드되어 캡처 된 토큰을 사용할 수 있습니다. 어쩌면 전체 리디렉션으로 응답을 캡처 할 수있는 방법이 있습니다. – Molotch