FedCM으로 이전

이 가이드는 Federated Credentials Management API (FedCM)에서 도입된 웹 애플리케이션의 변경사항을 이해하는 데 도움이 됩니다.

FedCM이 사용 설정되면 브라우저에 사용자 메시지가 표시되고 서드 파티 쿠키가 사용되지 않습니다.

개요

웹용 개인 정보 보호 샌드박스Chrome이 웹에서 서드 파티 쿠키를 삭제함에 따라 Google ID 서비스 및 사용자 로그인에 중요한 변경사항이 도입되었습니다.

FedCM은 서드 파티 쿠키를 사용하지 않고도 더 많은 비공개 로그인 과정을 지원합니다. 브라우저는 사용자 설정을 제어하고 사용자 메시지를 표시하며 명시적인 사용자 동의가 이루어진 후에만 Google과 같은 ID 제공업체에 연락합니다.

대부분의 웹사이트는 이전 버전과 호환되는 Google ID 서비스 JavaScript 라이브러리 업데이트를 통해 원활하게 이전됩니다.

자동 로그인 기능 관련 업데이트 소식

Google ID 서비스용 Federated Credential Management (FedCM) 베타가 2023년 8월에 출시되었습니다. 많은 개발자가 API를 테스트했으며 귀중한 의견을 제공했습니다.

Google이 개발자로부터 받은 응답 중 하나는 FedCM 자동 로그인 흐름의 사용자 동작 요구사항입니다. 개인 정보 보호를 강화하기 위해 Chrome에서는 사용자가 FedCM 출시 전에 웹사이트를 승인했더라도 각 Chrome 인스턴스에서 Google 계정으로 웹사이트에 로그인하려는지 재확인해야 합니다. 이 일회성 재확인은 원탭 메시지를 한 번 클릭하여 진행되며 사용자의 로그인 의도를 보여줍니다. 이번 변경사항으로 인해 일부 웹사이트의 자동 로그인 전환율이 초기에 중단될 수 있습니다.

최근 M121에서 Chrome은 FedCM 자동 로그인 흐름 UX를 변경했습니다. 재확인은 서드 파티 쿠키가 제한된 경우에만 필요합니다. 이는 다음을 의미합니다.

  1. 2024년 3분기에 서드 파티 쿠키 제한이 100% 로 확대되기 전에는 FedCM 자동 로그인 시 재확인이 필요하지 않습니다. 사용자가 FedCM UI로 재확인하면 이 재확인은 3PCD 이후 시대의 사용자 동작 요구사항에 포함됩니다.

  2. FedCM 자동 로그인은 현재 또는 향후 Chrome에서 기본적으로 사용자에 의해 서드 파티 쿠키를 수동으로 제한할 때 재확인 상태를 확인합니다.

이번 변경사항으로 자동 로그인 전환율의 중단을 줄이기 위해 모든 자동 로그인 개발자가 최대한 빨리 FedCM으로 마이그레이션하는 것이 좋습니다.

자동 로그인 흐름의 경우 웹사이트에서 FedCM을 선택하더라도 GIS JavaScript는 이전 Chrome (M121 이전)에서 FedCM을 트리거하지 않습니다.

사용자 여정의 차이점

FedCM을 사용하고 FedCM을 사용하지 않는 원탭 환경은 약간의 차이점이 있을 뿐입니다.

단일 세션 신규 사용자

FedCM을 사용하여 원탭에 애플리케이션 이름 대신 도메인 이름이 표시됩니다.

FedCM 사용 FedCM 사용 안 함
FedCM을 사용하는 단일 세션 신규 사용자 FedCM을 사용하지 않는 단일 세션 신규 사용자

단일 세션 재사용자 (자동 로그인 사용 중지됨)

FedCM을 사용하여 원탭에 애플리케이션 이름 대신 도메인 이름이 표시됩니다.

FedCM 사용 FedCM 사용 안 함
FedCM을 사용한 단일 세션 재사용자 여정 (자동 로그인이 사용 중지됨) FedCM이 없는 단일 세션 재사용자 여정 (자동 로그인이 사용 중지됨)

단일 세션 재사용자 (자동 로그인이 사용 설정된 경우)

FedCM을 사용하면 사용자는 Cancel 버튼을 클릭하는 대신 X를 클릭하여 5초 이내에 자동 로그인을 취소할 수 있습니다.

FedCM 사용 FedCM 사용 안 함
FedCM을 사용한 단일 세션 재사용자 여정 (자동 로그인 사용 설정됨) FedCM이 없는 단일 세션 재사용자 여정 (자동 로그인이 사용 설정된 경우)

다중 세션

FedCM을 사용하여 원탭에 애플리케이션 이름 대신 도메인 이름이 표시됩니다.

FedCM 사용 FedCM 사용 안 함
FedCM을 사용하는 다중 세션 사용자 FedCM을 사용하지 않는 다중 세션 사용자

시작하기 전에

브라우저 설정과 버전이 FedCM API를 지원하는지 확인합니다. 최신 버전으로 업데이트하는 것이 좋습니다.

  • FedCM API는 Chrome 117 이상에서 사용할 수 있습니다.

  • Chrome에서 서드 파티 로그인 설정이 사용 설정되어 있습니다.

  • Chrome 브라우저 버전이 119 이하이면 chrome://flags를 열고 실험용 FedCmWithoutThirdPartyCookies 기능을 사용 설정합니다. Chrome 브라우저 버전 120 이상에서는 이 단계가 필요하지 않습니다.

웹 앱 이전

FedCM을 사용 설정하고, 마이그레이션의 잠재적인 영향을 평가하며, 필요한 경우 기존 웹 애플리케이션을 변경하려면 다음 단계를 따르세요.

1. 다음을 사용하여 초기화할 때 FedCM을 사용 설정하는 불리언 플래그를 추가합니다.

2. 코드에서 isDisplayMoment(), isDisplayed(), isNotDisplayed(), getNotDisplayedReason() 메서드 사용을 삭제합니다.

사용자 개인 정보 보호를 개선하기 위해 google.accounts.id.prompt 콜백이 더 이상 PromptMomentNotication 객체에서 표시 시점 알림을 반환하지 않습니다. 표시 시점 관련 메서드에 종속되는 모든 코드를 삭제합니다. 즉, isDisplayMoment(), isDisplayed(), isNotDisplayed(), getNotDisplayedReason() 메서드입니다.

3. 코드에서 getSkippedReason() 메서드 사용을 삭제합니다.

건너뛰기 시점인 isSkippedMoment()는 계속해서 PromptMomentNotication 객체의 google.accounts.id.prompt 콜백에서 호출되지만 자세한 이유는 제공되지 않습니다. 코드에서 getSkippedReason() 메서드에 종속되는 모든 코드를 삭제합니다.

FedCM이 사용 설정되어도 닫힌 순간 알림 isDismissedMoment() 및 관련 세부 이유 메서드인 getDismissedReason()는 변경되지 않습니다.

4. data-prompt_parent_idintermediate_iframes에서 position 스타일 속성을 삭제합니다.

브라우저에서 사용자 메시지의 크기와 위치를 제어하며 데스크톱의 원탭 맞춤 위치는 지원되지 않습니다.

5. 필요한 경우 페이지 레이아웃을 업데이트합니다.

브라우저에서 사용자 프롬프트의 크기와 위치를 제어합니다. 개별 페이지의 레이아웃에 따라 데스크톱의 원탭 맞춤 위치가 스타일 속성, data-prompt_parent_id, intermediate_iframes, 맞춤 iframe 및 기타 창의적인 방식과 같은 어떤 방식으로도 지원되지 않으므로 일부 콘텐츠가 오버레이될 수 있습니다.

중요한 정보가 가려진 경우 사용자 환경을 개선하기 위해 페이지 레이아웃을 변경합니다. 원탭 프롬프트가 기본 위치에 있다고 가정하더라도 원탭 프롬프트를 중심으로 UX를 빌드하지 마세요. FedCM API는 브라우저에서 미디에이션되므로 여러 브라우저 공급업체가 메시지의 위치를 약간 다르게 배치할 수 있습니다.

6. 웹 앱이 교차 출처 iframe에서 One Tap API를 호출하는 경우 상위 프레임에 allow="identity-credentials-get" 속성을 추가합니다.

iframe의 origin이 상위 출처와 완전히 같지 않으면 iframe은 교차 출처로 간주됩니다. 예를 들어 다음과 같습니다.

  • 다른 도메인: https://example1.comhttps://example2.com
  • 다른 최상위 도메인: https://example.ukhttps://example.jp
  • 하위 도메인: https://example.comhttps://login.example.com

    사용자 개인 정보 보호를 개선하려면 교차 출처 iframe에서 One Tap API를 호출할 때 모든 상위 프레임 iframe 태그에 allow="identity-credentials-get" 속성을 추가해야 합니다.

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    앱에서 다른 iframe이 포함된 iframe을 사용하는 경우 속성이 모든 하위 iframe을 포함한 모든 iframe에 추가되는지 확인해야 합니다.

    예를 들어 다음 시나리오를 고려해 보세요.

  • 맨 위 문서 (https://www.example.uk)에는 페이지 (https://logins.example.com)가 삽입되어 있는 'iframe A'라는 이름의 iframe이 포함되어 있습니다.

  • 이 삽입된 페이지 (https://logins.example.com)에는 'iframe B'라는 iframe도 포함되어 있으며, 이 iframe에는 원탭을 호스팅하는 페이지 (https://onetap.example2.com)가 추가로 삽입됩니다.

    원탭이 제대로 표시되도록 하려면 이 속성을 iframe A 및 iframe B 태그 모두에 추가해야 합니다.

    표시되지 않는 원탭 메시지에 대한 문의를 준비합니다. 출처가 다른 다른 사이트에서는 iframe 내에 원탭을 호스팅하는 페이지를 삽입할 수 있습니다. 최종 사용자 또는 다른 사이트 소유자의 원탭이 표시되지 않는 문제와 관련하여 지원 티켓이 늘어날 수 있습니다. 사이트 소유자만 페이지에서 업데이트를 할 수 있지만 다음 조치를 취하면 영향을 완화할 수 있습니다.

  • 사이트를 호출하기 위해 iframe을 올바르게 설정하는 방법을 포함하도록 개발자 문서를 업데이트하세요. 문서에 이 페이지의 링크를 포함할 수 있습니다.

  • 해당하는 경우 개발자 FAQ 페이지를 업데이트합니다.

  • 지원팀에 예정된 변경사항을 알리고 문의에 대한 답변을 미리 준비하세요.

  • 원활한 FedCM 전환을 위해 영향을 받는 파트너, 고객 또는 사이트 소유자에게 사전에 연락합니다.

7. 콘텐츠 보안 정책 (CSP)에 이러한 지시어추가합니다.

일부 웹사이트에서는 CSP를 정의하지 않으므로 이 단계는 선택사항입니다.

  • 웹사이트에서 CSP를 사용하지 않는 경우 변경하지 않아도 됩니다.

  • CSP가 현재 원탭에서 작동하고 connect-src, frame-src, script-src, style-src 또는 default-src를 사용하지 않는 경우 변경할 필요가 없습니다.

  • 그렇지 않은 경우 이 가이드에 따라 CSP를 설정하세요. 적절한 CSP 설정이 없으면 FedCM 원탭이 사이트에 표시되지 않습니다.

8. 로그인 시 Accelerated Mobile Pages (AMP) 지원을 삭제합니다.

AMP의 사용자 로그인 지원은 웹 앱에서 구현했을 수 있는 GIS의 선택적 기능입니다. 이 경우

다음에 대한 참조를 삭제합니다.

  • amp-onetap-google 맞춤 요소

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    AMP에서 웹사이트의 HTML 로그인 흐름으로 로그인 요청을 리디렉션해 보세요. 관련 Intermediate Iframe Support API는 영향을 받지 않습니다.

마이그레이션 테스트 및 확인

이전 단계에 따라 필요한 변경사항을 적용한 후 마이그레이션이 성공했는지 확인할 수 있습니다.

  1. 브라우저에서 FedCM을 지원하고 기존 Google 계정 세션이 있는지 확인합니다.

  2. 애플리케이션의 원탭 페이지로 이동합니다.

  3. 원탭 메시지가 표시되고 기본 콘텐츠를 안전하게 오버레이하는지 확인합니다.

  4. 원탭을 사용하여 애플리케이션에 로그인할 때 올바른 사용자 인증 정보가 엔드포인트 또는 콜백 메서드로 반환되는지 확인합니다.

  5. 자동 로그인이 사용 설정된 경우 취소가 작동하는지 확인하고 올바른 사용자 인증 정보가 엔드포인트 또는 콜백 메서드에 반환됩니다.

원탭 쿨다운 기간

오른쪽 상단 모서리에서 원탭 을 클릭하면 메시지가 닫히고 쿨다운 기간이 시작되어 원탭 메시지가 일시적으로 표시되지 않습니다. Chrome에서 쿨다운 기간이 끝나기 전에 원탭 메시지를 다시 표시하려면 주소 표시줄의 자물쇠 아이콘을 클릭하고 권한 재설정 버튼을 클릭하여 쿨다운 상태를 재설정하면 됩니다.

자동 로그인 대기 기간

FedCM을 사용하여 원탭으로 자동 로그인하는 경우 자동 로그인 시도 사이에 10분의 무음 시간이 적용됩니다. 대기 기간은 재설정할 수 없습니다. 자동 로그인을 다시 트리거하려면 10분 동안 기다리거나 다른 Google 계정을 테스트용으로 사용해야 합니다.

유용한 리소스

개인 정보 보호 샌드박스 분석 도구 (PSAT)는 개발자가 서드 파티 쿠키 지원 중단 및 대체 API 채택에 대처하는 데 도움이 되는 특수 기능이 포함된 Chrome DevTools 확장 프로그램입니다. 사이트에서 영향을 받는 기능을 스캔하여 작동하며 권장 변경사항 목록을 제공합니다.