간단한 웹 응용 프로그램을 만들고 파트너가 자신의 사이트에이 응용 프로그램을 포함 시키길 원합니다. 나는 많은 유튜브처럼 파트너가 iframe을 사용하여 포함 할 수 있도록하려는 :타사 로그인은 iframe 내부에서 작동합니까?
응용 프로그램은 타사 인증 공급자 (예를 들어, 구글, 페이스 북, 오픈 ID)을 통해 로그인을 필요로한다.
이러한 인증 방법은 iframe의 범위 내에서 문제가됩니까?
간단한 웹 응용 프로그램을 만들고 파트너가 자신의 사이트에이 응용 프로그램을 포함 시키길 원합니다. 나는 많은 유튜브처럼 파트너가 iframe을 사용하여 포함 할 수 있도록하려는 :타사 로그인은 iframe 내부에서 작동합니까?
응용 프로그램은 타사 인증 공급자 (예를 들어, 구글, 페이스 북, 오픈 ID)을 통해 로그인을 필요로한다.
이러한 인증 방법은 iframe의 범위 내에서 문제가됩니까?
이 접근법은 약간 문제가 될 수 있지만 수행 할 수 있습니다. OAUTH (예 : Google, Facebook, OpenID)를 사용하는 많은 인증 공급자는 로그인 한 후 응용 프로그램을 인증 한 후 사용자를 설정된 URL로 리디렉션합니다. 그들이 보낸 페이지 (iframe이있는 페이지)로 되돌릴 수있는 방법을 찾아야합니다. 귀하의 iframe이 호스팅되는 곳 (예 : window.top, window.parent)을 추측 할 수있을 것입니다. 세션 또는 쿠킹에 해당 정보를 저장 한 다음 인증이 완료되면 사용자를 페이지로 되돌립니다.
iframe은 본질적으로 더 작은 브라우저 창입니다. 귀하의 질문은 iframe과 메시지를주고받는 것과 관련이 없기 때문에 어려움은 그 기능을 정상적으로 구현하는 것과 동일하다고 말할 수 있습니다. 어쨌든, 당신은 인증 공급자에게 사용자를 보내고, 로그인하고, 어떻게 든 그것이 전체 브라우저 창이든 iframe이든 그들이하고 있던 일로 돌아갑니다. 그러나 iframe이 매우 작 으면 새 창을 열어야합니다.
문제가 될 수 있습니다. iframe
에 인증 대화 상자를 표시하는 것은 일반적으로 보안 위험으로 간주되며 대부분의 인증 공급자는 인증 페이지와 함께 X-Frame-Options: sameorigin
헤더를 명시 적으로 전송하여 호환 브라우저 (거의 모든 최신 브라우저 참조)가 인증 페이지를 iframe
내에 렌더링하지 못하도록합니다. 주변을 둘러 보니 적어도 Facebook, Twitter 및 Google은 모두 iframe
의 인증을 허용하지 않는 것으로 보입니다 (이 목록은 확실하게 철저하지 않습니다). 실제 인증 흐름을 위해 새 브라우저 창을 열어서 고려할 수 있지만 iframe
내부에서는 가능하지 않을 수 있습니다.
클릭 재킹 설명 악용하는이 상황에 리드 : http://www.rfc-editor.org/rfc/rfc7034.txt
다음X-Frame-Options
헤더
http://javascript.info/tutorial/clickjacking
참조 문서