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월)
- 사양에서 '계정 목록 엔드포인트'의 이름을 '계정 엔드포인트'로 업데이트했으므로 문서가 그에 따라 정렬되었습니다.
- Button Mode API의 오리진 트라이얼은 Chrome 데스크톱 125에서 사용할 수 있습니다. 자세한 내용은 FedCM 업데이트: Button Mode API 오리진 트라이얼, CORS, SameSite를 참조하세요.
- Chrome 125부터 CORS는 ID 어설션 엔드포인트에 적용됩니다.
- Chrome은 Chrome 125부터
SameSite=None
로 명시적으로 표시된 쿠키만 ID 어설션 엔드포인트 및 계정 엔드포인트로 전송합니다.
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에서 계정을 만들었다고 주장하는 경우 이 변경으로 자동 재인증 흐름이 더 많이 트리거될 수 있습니다.
- FedCM의 자동 재인증 기능은 사용자가 재방문할 때만 트리거됩니다. 즉, 자동 재인증이 트리거되기 전에 사용자가 모든 브라우저 인스턴스에서 한 번씩 FedCM을 사용하여 RP에 로그인해야 합니다. 처음에 이 조건은 추적기가 ID 공급업체 (IdP)인 것처럼 가장하여 브라우저를 속여 사용자가 모르게 또는 동의 없이 사용자를 자동으로 재인증하도록 속일 위험을 완화하기 위해 도입되었습니다. 그러나 이 설계는 추적기가 RP 컨텍스트에서 서드 파티 쿠키에 액세스할 수 있는 경우 개인 정보 보호 이점을 보장할 수 없습니다. FedCM은 서드 파티 쿠키를 통해 가능한 기능 중 일부만 제공하므로 추적기가 이미 RP 컨텍스트에서 서드 파티 쿠키에 액세스할 수 있는 경우 FedCM에 액세스해도 개인 정보 보호 위험이 추가로 발생하지 않습니다.
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 통신에 대한 사용자 권한이 부여된 후에만 발생합니다.
- Login Status API: Login Status API는 웹사이트, 특히 IdP에서 브라우저에 사용자의 로그인 상태를 알려주는 메커니즘입니다. 이 API를 사용하면 브라우저에서 IdP에 대한 불필요한 요청을 줄이고 잠재적인 타이밍 공격을 완화할 수 있습니다. Login Status API는 FedCM의 요구사항입니다.
이번 변경으로 서드 파티 쿠키가 차단되었을 때 FedCM을 사용 설정하기 위해 더 이상
Chrome 117 (2023년 9월)
- IdP Sign-In Status API의 오리진 트라이얼은 Chrome 117부터 Android에서 사용할 수 있습니다. FedCM 업데이트: IdP Sign-In Status 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 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_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
필드를 사용합니다.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
사용에 관한 주의사항이 추가되었습니다.