Chrome의 새 참조자 정책과 관련된 SPFx 문제 >= 85

Chrome 버전 85부터 기본 리퍼러 정책이 no-referrer-when-downgrade에서 strict-origin-when-cross-origin로 변경되었습니다. 이 변경 사항은 레퍼러 헤더(또는 단일 "r"이 있는 레퍼러 헤더)에 의존하는 경우 SharePoint 프레임워크 솔루션에 상당한 영향을 미칠 수 있습니다.

리퍼러 헤더란 무엇입니까?



브라우저가 API 호출을 수행할 때마다 referrer 헤더가 수행된 페이지의 출처를 나타내는 데 사용됩니다.

Chrome의 이전 기본값( no-referrer-when-downgrade )을 사용하면 SharePoint 페이지의 전체 URL이 됩니다. 예: https://tenant.sharepoint.com/sites/<site>/SitePages/just-a-page.aspx .

새 정책에서는 제공된 URL이 전체 URL에서 원본 URL로 변경되었습니다. 예: https://tenant.sharepoint.com/ .

영향은 무엇입니까?



Google Chrome 설명서 페이지에서 시각적 영향이 제한적일 것으로 예상된다고 언급합니다.

SharePoint에서만 솔루션을 구축할 때 백엔드 없이 사용하면 아무런 영향을 미치지 않습니다. 백엔드를 사용하고 리퍼러 헤더를 유효성 검사 메커니즘으로 사용하는 경우 이는 솔루션에 영향을 미칩니다. 이제 절대 페이지 URL 대신 SharePoint 테넌트 URL을 수신합니다.



Info: Read more about the new default referrer policy in Chrome on: A new default Referrer-Policy for Chrome: strict-origin-when-cross-origin



다른 브라우저는 어떻습니까?



현재 Chrome 및 Safari만 기본적으로 strict-origin-when-cross-origin 리퍼러 정책을 사용하는 것 같습니다.

Microsoft Edge 및 Firefox는 여전히 no-referrer-when-downgrade 정책을 사용하고 있지만 Microsoft Edge의 경우 strict-origin-when-cross-origin 정책을 실험하고 있으며 Firefox 팀도 이동을 고려하고 있습니다.

여기에서 브라우저 구현 상태를 확인할 수 있습니다. https://github.com/privacycg/proposals/issues/13

지금 무엇을 할 수 있습니까?



API에 대해 referrer 헤더를 사용하는 경우 다음과 같이 이러한 호출에 대해 referrerPolicy를 지정하는 것이 가장 좋습니다.

await ctx.httpClient.post(creatorUrl, HttpClient.configurations.v1, {
  headers: {
    "Authorization": `Bearer ${token}`,
    "content-type": "application/json",

  },
  referrerPolicy: 'no-referrer-when-downgrade', // Provide `referrerPolicy` option for falling back to the previous default
  body: JSON.stringify(msg)
});


그 결과 이제 API를 호출할 때 전체 URL이 제공됩니다.

좋은 웹페이지 즐겨찾기