2017-12-14 17 views
1

암호로 보호 된 웹 사이트에서 PWA 작업을 수행하려면 모든 가져 오기 요청에 credentials: 'same-origin'을 추가해야합니다. 그렇지 않으면 웹 사이트에서 나가서 나중에 다시 나타나면 브라우저에서 내 비밀번호를 묻지 않고 승인되지 않은 오류를 반환합니다.Workbox에 가져 오기 옵션을 추가하는 방법은 무엇입니까?

어떻게해야합니까? RequestWrapper 클래스에 fetchOptions가 포함되어있는 것으로 나타 났지만 사용 방법을 찾을 수 없습니다.

+0

몇 가지 명확한 포인트 : Workbox v2 (현재 안정적인 버전) v3의? 그리고 이것을 미리 캐시하는 요청, 런타임 캐싱 요청 또는 둘 다에 적용하려면이 것이 필요합니까? –

+0

@ jeff-posnick, Workbox v2.1.2를 사용하고 있습니다. 나는 이것을 프리 캐싱 요청과 런타임 캐싱 요청에 모두 적용해야 할 것이다. 감사 ! –

답변

1

v2에서 캐싱은 모든 나가는 요청에 대해 FetchOptions으로 already setcredentials: 'same-origin'이어야합니다.

const requestWrapper = new RequestWrapper({ 
    cacheName: 'my-cache-name', // Change this for each separate cache. 
    fetchOptions: { 
    credentials: 'same-origin', 
    }, 
    plugins: [], // Add any plugins you need here, e.g. CacheExpiration. 
}); 

const staleWhileRevalidateHandler = new StaleWhileRevalidate({requestWrapper}); 

workboxSW.router.registerRoute(
    new RegExp('/path/prefix'), 
    staleWhileRevalidateHandler 
); 

(난 당신이있어 얼마나 확실하지 않다 :

런타임 캐싱

, 당신은 당신의 자신의 RequestWrapper 인스턴스를 구성하고 런타임 캐싱 핸들러에서 사용하고있는 것을 전달하여이 동작을 얻을 수 있습니다 워크 박스 라이브러리를 사용하지만 RequestWrapper 클래스와 같은 클래스에 액세스하려면 추가 스크립트를 명시 적으로 가져와야 할 수도 있습니다.