OAuth2 스펙이 암시 적 권한 부여 플로우에서 액세스 토큰을 리턴하기 위해 JSON 응답 모드를 정의하지 않는 이유가 궁금합니다. 이것과 스펙에 동의 할 시간이 없었기 때문입니까? 아니면 특정 보안 취약점을 열어 JSON 형식으로 액세스 토큰을 반환합니까? 그렇다면 JSON을 악의적 인 스크립트 태그로 반환하는 것이 ContentType 또는 요청의 RequestedWith 헤더를 확인하여 완화 될 수 있다고 생각하는 것이 흥미로울 것입니다.OAuth2 스펙이 암시 적 플로우에 대한 JSON 응답 모드를 정의하지 않는 이유는 무엇입니까?
액세스 토큰을 새로 고침해야하는 최신 자바 스크립트 응용 프로그램이 많이 있습니다. 보호 된 리소스에 대한 사용 권한이 자주 변경되는 경우 (예 : 특정 사용자가 자신이 소유 한 리소스에 대해 다른 사용자에게 사용 권한을 부여하는 경우) 일반적으로 필요합니다. 이 경우 보호 된 리소스에 액세스 할 때마다 액세스 토큰을 얻어야합니다.
현재 OAuth2 사양에는 조각 및 양식 게시 (초안)의 두 가지 응답 모드가 있습니다. 조각 응답을 사용하려면 사용자에게 친숙하지 않은 리디렉션이 필요합니다. 액세스 토큰을 부모 윈도우에 전달하는 자바 스크립트 코드를 콜백하는 숨겨진 iframe에 GET 메소드를 사용하여 양식을 게시하는 것도 가능합니다. 그러나 이것은 개발 관점에서 볼 때 오히려 해킹 된 접근법입니다.
보안을 손상시키지 않는다면 AJAX 요청을 통해 액세스 토큰을 JSON 형식으로 반환하는 것이 훨씬 깔끔할 것입니다.
잠시 시간을내어 주시겠습니까? SO는 피해자이고 evil.com은 사용자가 속인 웹 사이트입니다. 사용자를 대신하여 evil.com에서 SO에게 SO를 요청하면 자격 증명을 사용하여 보내야합니다. 그렇지 않으면 요청 쿠키가 SO에 전송되지 않고 액세스 토큰이 반환되지 않습니다. 요청이 인증되지 않음). 또한 자격 증명을 사용하여 요청을 보내면 SO는 액세스 제어 허용 원점에서 evil.com을 명시 적으로 허용 목록에 추가해야합니다. 예,