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 132 (2024년 11월)
- 다양한 UX 모드 및 새로운 활성 모드 지원을 추가했습니다.
- 다른 계정 사용 기능을 추가했습니다.
- 계속 기능을 추가했습니다.
- 맞춤 매개변수 지원이 추가되었습니다.
- RP는 필드 기능을 사용하여 특정 사용자 정보를 요청할 수 있습니다.
- IdP는 여러 구성 파일을 구현할 수 있습니다.
- IdP는 맞춤 계정 라벨을 사용하여 사용자 계정에 라벨을 지정할 수 있습니다.
Chrome 131 (2024년 10월)
- 이제 Storage Access API에서 FedCM을 신뢰 신호로 사용합니다.
- 사용자가 RP 선택을 통해 FedCM으로 인증하는 경우 IdP 삽입은
requestStorageAccess()
메서드를 호출하여 추가 사용자 메시지 없이 자체 최상위 쿠키에 대한 저장소 액세스 권한을 자동으로 가져올 수 있습니다.
- 사용자가 RP 선택을 통해 FedCM으로 인증하는 경우 IdP 삽입은
Chrome 125 (2024년 4월)
- 사양에서 '계정 목록 엔드포인트'의 이름을 '계정 엔드포인트'로 업데이트했으므로 문서도 이에 따라 조정되었습니다.
- Button Mode API의 오리진 트라이얼은 Chrome 데스크톱 125에서 사용할 수 있습니다. FedCM 업데이트: 버튼 모드 API 출처 체험판, CORS, SameSite에서 자세히 알아보세요.
- Chrome 125부터 ID 어설션 엔드포인트에서 CORS가 시행됩니다.
- Chrome은 Chrome 125부터
SameSite=None
로 명시적으로 표시된 쿠키만 ID 어설션 엔드포인트 및 계정 엔드포인트로 전송합니다.
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에서 계정을 만들었다고 주장하는 경우 이 변경사항으로 인해 자동 재인증 흐름이 더 자주 트리거될 수 있습니다.
- FedCM의 자동 재인증 기능은 사용자가 다시 방문할 때만 트리거됩니다. 즉, 자동 재인증을 트리거하려면 사용자가 모든 브라우저 인스턴스에서 FedCM을 사용하여 RP에 한 번 로그인해야 합니다. 이 조건은 처음에 추적자가 ID 공급자 (IdP)를 가장하여 사용자의 인지 또는 동의 없이 브라우저를 속여 사용자를 자동으로 재인증하는 위험을 완화하기 위해 도입되었습니다. 그러나 추적 광고주가 RP 컨텍스트에서 서드 파티 쿠키에 액세스할 수 있는 경우 이 설계는 개인 정보 보호 이점을 보장할 수 없습니다. FedCM은 서드 파티 쿠키를 통해 가능한 기능의 하위 집합만 제공하므로 추적 광고주가 이미 RP 컨텍스트에서 서드 파티 쿠키에 액세스할 수 있는 경우 FedCM에 액세스해도 추가 개인 정보 보호 위험이 없습니다.
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 통신에 대한 사용자 권한이 부여된 후에만 이루어집니다.
- 로그인 상태 API: 로그인 상태 API는 웹사이트, 특히 IdP가 브라우저에 사용자의 로그인 상태를 알리는 메커니즘입니다. 이 API를 사용하면 브라우저가 IdP에 대한 불필요한 요청을 줄이고 잠재적인 타이밍 공격을 완화할 수 있습니다. Login Status API는 FedCM의 요구사항입니다.
이 변경사항으로 서드 파티 쿠키가 차단된 경우 FedCM을 사용 설정하기 위해 더 이상
Chrome 117 (2023년 9월)
- Idp Sign-In Status API의 오리진 트라이얼은 Chrome 117부터 Android에서 사용할 수 있습니다. FedCM 업데이트: IdP 로그인 상태 API, 로그인 힌트 등에서 자세히 알아보세요.
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
헤더가 RP가 ID 토큰 엔드포인트에 미리 등록한 출처와 일치하는지 확인해야 합니다. - 최상위 매니페스트의 이름이
/.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이어야 합니다. - 이제
nonce
는navigator.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
사용에 관한 주의사항을 추가했습니다.