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 131 (2024년 10월)

Chrome 125 (2024년 4월)

Chrome 123 (2024년 2월)

  • Domain Hint API 지원을 추가했습니다. 도메인 힌트 API를 사용하면 RP가 FedCM API 호출에서 domainHint 속성을 지정하여 사용자와 일치하는 계정만 표시할 수 있습니다.

Chrome 122 (2024년 1월)

  • Disconnect API 지원을 추가했습니다. Disconnect 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부터 이 동작이 변경됩니다. 사용자를 재방문자로 취급하는 조건의 제한을 완화하기로 결정했습니다. RP 컨텍스트에서 IdP가 서드 파티 쿠키를 사용할 수 있는 경우 Chrome은 approved_clients 목록을 통해 지정된 사용자의 계정 상태에 관한 IdP의 주장을 신뢰하고 해당하는 경우 자동 재인증을 트리거합니다. 서드 파티 쿠키는 사용자 설정, 기업 정책, 휴리스틱(Safari, Firefox, Chrome), 기타 웹 플랫폼 API (예: Storage Access API)를 통해 사용할 수 있습니다. 향후 IdP에서 서드 파티 쿠키 액세스 권한을 상실한 경우 사용자가 이전에 FedCM UI에서 명시적으로 권한을 부여한 적이 없는 경우 (예: 계속 버튼 클릭) 계속해서 신규 사용자로 간주됩니다.
      개발자가 취해야 할 조치는 없습니다. IdP에 서드 파티 쿠키 액세스 권한이 있고 사용자가 이전에 RP에서 계정을 만들었다고 주장하는 경우 이 변경사항으로 인해 자동 재인증 흐름이 더 자주 트리거될 수 있습니다.

Chrome 120 (2023년 11월)

  • Chrome 120에서 다음 세 가지 기능에 대한 지원이 추가되었습니다.
    • 로그인 상태 API: 로그인 상태 API는 웹사이트, 특히 IdP가 브라우저에 사용자의 로그인 상태를 알리는 메커니즘입니다. 이 API를 사용하면 브라우저가 IdP에 대한 불필요한 요청을 줄이고 잠재적인 타이밍 공격을 완화할 수 있습니다. Login Status API는 FedCM의 요구사항입니다. 이 변경사항으로 서드 파티 쿠키가 차단된 경우 FedCM을 사용 설정하기 위해 더 이상 chrome://flags/#fedcm-without-third-party-cookies 플래그가 필요하지 않습니다.
    • Error API: Error API는 IdP에서 제공한 오류 정보가 포함된 브라우저 UI를 표시하여 사용자에게 알립니다.
    • 자동 선택 플래그 API: 자동 선택 플래그 API는 자동 재인증이 발생하거나 명시적 미디에이션이 발생할 때마다 IdP와 RP 모두에서 계속 버튼을 탭하여 명시적 사용자 권한을 획득했는지 여부를 공유합니다. 공유는 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 로그인 상태 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 매니페스트'가 '구성 파일'로 명칭이 변경되었습니다. 구현 변경사항이 필요하지 않습니다.
  • '구성 파일'의 id_token_endpoint 이름이 id_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 필드를 사용합니다.
  • 이제 urlconfigURL이며 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 사용에 관한 주의사항을 추가했습니다.

리소스