개발 환경에서 Cloud IAP를 설정하고 (Kubernetes로 스핀 업하고 Let 's Encrypt를 사용) 모든 것이 정상적으로 작동합니다.Google Cloud 신원 확인 프록시 (IAP) 302를 방지하기 위해 자체 API를 보낼 쿠키 또는 헤더?
1) 프로젝트
2) SPA
프런트 엔드 응용 프로그램에서, REST 엔드 포인트 및 영구 데이터 저장소의 수를되어지는 API
:
셋업이 응용 프로그램에 대한 아주 기본적인 그 간다 의해, I합니다 (IAP 화면을 통해 모두 애플 리케이션에 내 Google 사용자를 인증 할 수 있습니다 내 브라우저에서 다른 프로젝트 B
에 (크롬과 파이어 폭스를 시도), API
말했다 활용합니다 g를 브라우저 탭의 각 도메인에 추가). SPA
및 을 사용하려고 시도하면은 API
에 대한 요청을 시도하지만 네트워크 요청 302는 Google IAP 로그인 페이지로 리디렉션됩니다.
질문 : IAP는 패스를 통해 수 있도록 사용자를 대신하여 API
요청을 통해 보냈 될 필요가있는 헤더 나 쿠키가 있습니까?
주 나는 BTW GCP_IAAP_AUTH_TOKEN
및 GCP_IAAP_XSRF_NONCE
이 두 쿠키를 참조하십시오.
이 경우 SPA 및 API는 모두 IAP 시스템으로 보호됩니다. – bonesbrigade
알았습니다. 이 경우 SPA가 서비스 계정 인증 지침을 사용하여 API에 인증하도록 요청하고 SPA에 IAP에서받은 X-Authenticated-User-JWT를 포함시켜야합니다. SPA는 JWT를 검증하여 최종 사용자가 SPA에 요청을 제출했다는 증거로 사용할 수 있습니다. 이러한 토큰은 재생 또는 변조에 대한 강력한 방지 기능을 제공하지 않으므로 강력한 메커니즘이 아닙니다. 즉 SPA를 제어하는 사람은 여전히 많은 권한을 가지고 있습니다.하지만 적어도 최종 사용자에게 최종 사용자를 제공합니다. 자격 증명 검사. 그게 효과가 있습니까? –
네, 그게 합리적 소리, 그것을 밖으로 시도하자! – bonesbrigade