Federated Credential Management API 업데이트

Federated Credential Management API는 Chrome 108에서 제공되었지만 계속 발전할 것으로 예상됩니다. 브레이킹 체인지가 없습니다.

업데이트 대상은 누구인가요?

이러한 업데이트는 다음과 같은 경우에 적용됩니다.

  • Federated Credential Management API를 사용하는 IdP입니다.
  • IdP 또는 RP이며 사용 사례에 맞게 API를 확장하는 데 관심이 있습니다. 예를 들어 FedID CG 저장소에 관한 토론을 관찰하거나 참여해 왔으며 API의 변경사항을 알고자 하는 경우
  • 브라우저 공급업체가 API의 구현 상태를 확인하고자 합니다.

이 API를 처음 사용하거나 아직 사용해 본 적이 없다면 Federated Credential Management API 소개를 읽어보세요.

변경 로그

FedCM API 변경사항에 관한 최신 소식을 받으려면 뉴스레터를 구독하세요.

Chrome 125 (2024년 4월)

Chrome 123 (2024년 2월)

  • Domain Hint API에 대한 지원이 추가되었습니다. Domain Hint API를 사용하면 RP가 FedCM API 호출에서 domainHint 속성을 지정하여 사용자와 일치하는 계정만 표시할 수 있습니다.

Chrome 122 (2024년 1월)

  • Disconnect API에 대한 지원을 추가했습니다. 연결 해제 API를 사용하면 RP가 서드 파티 쿠키를 사용하지 않고 IdP 계정에서 사용자 연결을 해제할 수 있습니다.
  • 이제 RP와 IdP가 같은 사이트인 경우 /.well-known/web-identity 확인을 건너뜁니다.
  • 이제 하위 리소스가 동일한 사이트 로그인 상태를 설정할 수 있습니다.

Chrome 121 (2023년 12월)

  • FedCM 자동 재인증을 트리거하기 위한 완화된 조건:
    • FedCM의 자동 재인증 기능은 사용자가 재방문할 때만 트리거됩니다. 즉, 자동 재인증이 트리거되기 전에 사용자가 모든 브라우저 인스턴스에서 한 번씩 FedCM을 사용하여 RP에 로그인해야 합니다. 처음에 이 조건은 추적기가 ID 공급업체 (IdP)인 것처럼 가장하여 브라우저를 속여 사용자가 알지 못하거나 동의 없이 사용자를 자동으로 재인증하도록 속일 위험을 완화하기 위해 도입되었습니다. 그러나 이 설계는 추적기가 RP 컨텍스트에서 서드 파티 쿠키에 액세스할 수 있는 경우 개인 정보 보호 이점을 보장할 수 없습니다. FedCM은 서드 파티 쿠키를 통해 가능한 기능 중 일부만 제공하므로 추적기가 이미 RP 컨텍스트에서 서드 파티 쿠키에 액세스할 수 있는 경우 FedCM에 액세스해도 개인 정보 보호 위험이 추가로 발생하지 않습니다.
      서드 파티 쿠키가 합법적으로 사용되고 있고 조건을 완화하면 UX가 개선되므로 이 동작은 Chrome 121부터 변경됩니다. Google에서는 사용자를 재방문으로 취급하는 조건의 제한을 완화하기로 결정했습니다. RP 컨텍스트의 IdP에서 서드 파티 쿠키를 사용할 수 있는 경우 Chrome은 approved_clients 목록을 통해 지정된 사용자 계정 상태에 대한 IdP의 주장을 신뢰하고 해당하는 경우 자동 재인증을 트리거합니다. 서드 파티 쿠키는 사용자 설정, 엔터프라이즈 정책, 휴리스틱(Safari, Firefox, Chrome) 및 기타 웹 플랫폼 API (예: Storage Access API)를 통해 사용할 수 있습니다. 향후 IdP가 서드 파티 쿠키 액세스 권한을 상실할 때 사용자가 FedCM UI에서 명시적으로 권한을 부여한 적이 없다면 (예: 다음으로 계속 버튼 클릭) 여전히 신규 사용자로 간주됩니다.
      개발자의 조치는 필요하지 않습니다. IdP에 서드 파티 쿠키 액세스 권한이 있고 사용자가 이전에 RP에서 계정을 만들었다고 주장하는 경우 이 변경으로 자동 재인증 흐름이 더 많이 트리거될 수 있습니다.

Chrome 120 (2023년 11월)

  • Chrome 120에서 다음 세 가지 기능에 대한 지원이 추가되었습니다.
    • Login Status API: Login Status API는 웹사이트, 특히 IdP에서 브라우저에 사용자의 로그인 상태를 알려주는 메커니즘입니다. 이 API를 사용하면 브라우저에서 IdP에 대한 불필요한 요청을 줄이고 잠재적인 타이밍 공격을 완화할 수 있습니다. Login Status API는 FedCM의 요구사항입니다. 이번 변경으로 서드 파티 쿠키가 차단되었을 때 FedCM을 사용 설정하기 위해 더 이상 chrome://flags/#fedcm-without-third-party-cookies 플래그가 필요하지 않습니다.
    • Error API: Error API는 IdP에서 제공한 오류 정보가 포함된 브라우저 UI를 표시하여 사용자에게 알립니다.
    • Auto-Selected Flag API: Auto-Selected Flag API는 자동 재인증이 발생하거나 명시적 미디에이션이 발생할 때마다 IdP와 RP 모두에서 Continue as 버튼을 탭하여 명시적인 사용자 권한을 획득했는지 여부를 공유합니다. 공유는 IdP 및 RP 통신에 대한 사용자 권한이 부여된 후에만 발생합니다.

Chrome 117 (2023년 9월)

Chrome 116 (2023년 8월)

  • Chrome 116에 다음 세 가지 기능에 대한 지원이 추가되었습니다.
    • Login Hint API: 로그인할 기본 사용자 계정을 지정합니다.
    • User Info API: ID 공급업체 (IdP)가 iframe 내에서 맞춤설정된 로그인 버튼을 렌더링할 수 있도록 재방문 사용자의 정보를 가져옵니다.
    • RP Context API: FedCM 대화상자에서 '로그인'과 다른 제목을 사용하세요.
  • IdP Sign-In Status API의 오리진 트라이얼을 사용할 수 있습니다. FedCM 업데이트: IdP Sign-In Status API, 로그인 힌트 등에서 자세히 알아보세요.

Chrome 115 (2023년 6월)

  • 사용자가 FedCM을 사용하여 초기 인증 후 돌아올 때 자동으로 재인증할 수 있는 자동 재인증 지원이 추가되었습니다. 이렇게 하면 사용자 환경이 개선되고 초기 동의 후 RP에 대한 더 간소화된 재인증이 가능합니다. FedCM 자동 재인증에 관해 자세히 알아보세요.

Chrome 110 (2023년 2월)

  • ID 어설션 엔드포인트의 경우 IdP는 Referer 헤더 대신 Origin 헤더를 확인하여 값이 클라이언트 ID의 출처와 일치하는지 확인해야 합니다.
  • 이제 FedCM에 교차 출처 iframe 지원이 제공됩니다. 삽입된 교차 출처 iframe에서 FedCM API를 허용하려면 삽입기가 Permissions-Policy identity-credentials-get를 지정해야 합니다. 교차 출처 iframe의 를 확인할 수 있습니다.
  • 새로운 Chrome 플래그 chrome://flags/#fedcm-without-third-party-cookies를 추가했습니다. 이 플래그를 사용하면 서드 파티 쿠키를 차단하여 Chrome에서 FedCM 기능을 테스트할 수 있습니다. FedCM 문서에서 자세히 알아보세요.

Chrome 108 (2022년 10월)

  • '최상위 매니페스트'는 이제 문서에서 '잘 알려진 파일'이라고 합니다. 구현 변경은 필요하지 않습니다.
  • 문서에서 'IdP 매니페스트'는 이제 '구성 파일'이라고 합니다. 구현을 변경할 필요는 없습니다.
  • 'config file'의 id_token_endpointid_assertion_endpoint로 이름이 변경됩니다.
  • 이제 IdP에 대한 요청에 Sec-FedCM-CSRF: ?1 헤더 대신 Sec-Fetch-Dest: webidentity 헤더가 포함됩니다.

Chrome 105 (2022년 8월)

  • 문서에 중요한 보안 정보를 추가했습니다. ID 공급업체 (IdP)는 Referer 헤더가 ID 토큰 엔드포인트에 미리 등록된 RP의 출처와 일치하는지 확인해야 합니다.
  • 최상위 매니페스트의 이름이 /.well-known/fedcm.json에서 /.well-known/web-identity로 변경되고 provider_urls에 지정된 URL에는 파일 이름이 포함되어야 합니다.
  • FederatedCredential 인스턴스의 login(), logout(), revoke() 메서드는 더 이상 사용할 수 없습니다.
  • 이제 Federated Credential Management API는 FederatedCredential 대신 새로운 유형의 IdentityCredential를 사용합니다. 이는 특성 감지에 사용할 수 있지만 그 외에는 크게 눈에 띄지 않습니다.
  • 로그인 기능을 navigator.credentials.get()FederatedCredential.prototype.login()의 조합에서 navigator.credentials.get()으로 이동합니다.
  • 매니페스트의 취소 엔드포인트가 더 이상 적용되지 않습니다.
  • navigator.credentials.get() 호출에 federated 필드 대신 identity 필드를 사용합니다.
  • url는 이제 configURL이며 navigator.credentials.get() 호출의 경로가 아닌 매니페스트 JSON 파일의 전체 URL이어야 합니다.
  • 이제 noncenavigator.credentials.get()의 선택적 매개변수입니다.
  • hint는 더 이상 navigator.credentials.get()의 옵션으로 사용할 수 없습니다.
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (2022년 6월)

  • ID 토큰 엔드포인트로 전송된 consent_acquired 매개변수는 이제 disclosure_text_shown입니다. 값이 변경되지 않았습니다.
  • IdP 매니페스트의 브랜드 아이콘은 SVG 이미지 지원을 중지했지만 더 이상 RP의 콘텐츠 보안 정책에 따라 허용되지 않아도 됩니다.

Chrome 103 (2022년 5월)

  • 데스크톱 환경을 지원합니다.
  • 데스크톱에서 RP당 설정을 지원합니다.
  • 이제 클라이언트 메타데이터 엔드포인트가 선택사항입니다. 이 엔드포인트에서 개인정보처리방침 URL도 선택사항입니다.
  • 문서에서 CSP connect-src 사용에 관한 주의사항이 추가되었습니다.

자료