게시일: 2026년 1월 12일
Chrome 143에서는 개인 정보 보호, 개발자 환경, 브라우저 상호 운용성을 개선하기 위해 Federated Credential Management (FedCM) API가 업데이트됩니다. 이러한 변경사항은 ID 공급자 (IdP), 신뢰 당사자(RP), 웹 커뮤니티의 의견을 기반으로 합니다.
주요 업데이트 사항은 다음과 같습니다.
ID 어설션 엔드포인트의 구조화된 JSON 응답 지원
이전에는 FedCM ID 어설션 엔드포인트의 응답에 token 속성이 문자열이어야 했습니다. 이로 인해 개발자는 서버에서 데이터를 JSON 문자열로 수동으로 직렬화하고 클라이언트에서 파싱해야 했습니다.
Chrome 143부터 ID 어설션 엔드포인트는 구조화된 JSON 객체를 token 속성의 값으로 지원합니다. 예를 들면 다음과 같습니다.
{
"token": {
"access_token": "a1b2c3d4e5f6...",
"user_info": {
"email": "jane.doe@company.example",
"given_name": "Jane",
"family_name": "Doe"
}
}
}
이 변경사항으로 인해 수동 JSON 직렬화 및 파싱이 필요하지 않으며 IDP가 추가 정보를 반환할 수 있습니다.
FedCM 데모를 사용하여 이 기능을 사용해 보거나 ID 제공업체 측에서 FedCM 구현 가이드를 참고하여 업데이트된 ID 어설션 엔드포인트 응답이 구성되는 방식을 최신 정보로 확인하세요.
클라이언트 메타데이터 유효성 검사
사용자 개인 정보를 더 잘 보호하기 위해 FedCM은 IdP 엔드포인트의 유효성 검사를 강화하고 있습니다. 이 변경사항은 IdP가 경로 매개변수로 전달된 고유 ID에 RP를 매칭하는 것을 방지합니다.
FedCM 구성이 client_metadata 엔드포인트를 사용하는 경우 .well-known/web-identity 파일에 accounts_endpoint 및 login_url를 포함해야 합니다. Chrome 145부터 브라우저는 잘 알려진 파일에서 accounts_endpoint 매개변수를 적용합니다.
{
"accounts_endpoint": "/example-accounts",
"login_url": "/example-login"
}
자세한 내용은 FedCM 구현 가이드를 참고하세요.
API 일관성 및 오류 처리 업데이트
Chrome 143에서는 웹 생태계 피드백에 따라 브라우저 전반에서 FedCM API의 명확성과 일관성을 개선하기 위해 두 가지 변경사항이 도입됩니다.
nonce 매개변수 재배치
버전 145부터 Chrome은 최상위 nonce 매개변수 지원을 중단합니다. navigator.credentials.get() 호출의 params 객체 내에서 nonce 파라미터를 전달해야 합니다.
const credential = await navigator.credentials.get({
identity: {
providers: [{
// Don't pass nonce as a top-level parameter here
configURL: "/fedcm.json",
clientId: "123",
params: {
// Place nonce within the params object
nonce: "a-random-nonce"
}
}]
}
});
서버 측 로직이 ID 어설션 엔드포인트의 params 객체 내에서 nonce를 예상하는지 확인합니다.
IdentityCredentialError.code의 이름을 IdentityCredentialError.error로 바꿈
내장 DOMException.code 속성과의 이름 충돌을 방지하기 위해 IdentityCredentialError.code의 이름이 IdentityCredentialError.error로 변경되었습니다.
이 변경사항은 Chrome 145부터 적용됩니다.
try {
// FedCM API call
} catch (e) {
// Renamed IdentityCredentialError.code to IdentityCredentialError.error:
console.log(e.error);
}
전환 기간 (Chrome 143 및 144)에 이전 버전과의 호환성을 보장하려면 오류 처리 로직에서 code 및 error 속성을 모두 확인하세요.
이렇게 하면 사용자가 최신 버전의 Chrome으로 업데이트하는 동안 솔루션이 이전 브라우저에서 작동합니다.
// In older browsers, the property might still be named 'code'
// during the transition period
const errorCode = e.error ?? e.code;
if (errorCode) {
// Handle specific error types
} else {
console.error("An unknown error occurred", e);
}
FedCM 문서의 오류 응답 반환 섹션에서 자세히 알아보세요.
의견 공유
Google은 FedCM을 지속적으로 개발하고 개선하는 과정에서 여러분의 의견을 소중하게 생각합니다. 의견이 있거나 문제가 발생하면 다음 단계를 따르세요.
- GitHub 저장소에서 문제를 신고하세요.
- 개발자 뉴스레터 메일링 리스트에 가입하여 최신 공지사항을 받아보세요.