Chrome 128부터 Multi-IdP API가 데스크톱에서 오리진 트라이얼을 시작하고 Button Mode API 및 Continuation bundle이 Android에서 오리진 트라이얼을 시작합니다. 개발자는 다중 IdP 기능을 사용하여 단일 get()
호출에서 지원되는 여러 ID 공급업체의 배열을 지정할 수 있습니다. Button Mode API가 새 UI를 추가합니다. Button Mode API를 사용하면 ID 제공업체는 API 호출 시 사용자에게 활성 IdP 세션이 없는 경우에도 FedCM API를 사용할 수 있습니다. 연속 번들은 Continuation API와 Parameters API로 구성되며, IdP에서 제공하는 권한 대화상자가 포함된 OAuth 승인 흐름과 같은 환경을 지원합니다. 이 번들에는 Fields API, 여러 개의 configURL
, 맞춤 계정 라벨과 같은 다른 변경사항도 포함되어 있습니다.
오리진 체험판: 멀티 IdP API
이 기능을 사용하면 사용자가 지원되는 IdP 중에서 계정을 선택할 수 있으며 RP는 더 높은 로그인 및 가입률을 활용할 수 있습니다. 사용자가 여러 IdP로 로그인한 경우 IdP 중 하나를 사용하여 RP에 로그인하라는 메시지가 표시됩니다.
IdP는 사용자의 기존 계정 및 연결된 타임스탬프를 기반으로 우선순위가 지정됩니다.
- 사용자가 이전에 특정 IdP로 RP에 로그인한 적이 있는 경우 (즉, '재방문자 계정'이 있는 경우) 해당 IdP가 먼저 표시됩니다.
- 재방문 계정 내에서 IdP는 최근 사용 타임스탬프를 기준으로 추가로 정렬되며, 가장 최근에 사용한 IdP가 목록 상단에 표시됩니다. 경우에 따라 Chrome에 재방문 계정의 타임스탬프 데이터가 없을 수 있습니다. 이는 FedCM에 타임스탬프 로그가 구현되기 전에 사용자가 로그인했기 때문일 수 있습니다. 이러한 계정은 타임스탬프가 있는 계정 아래에 표시됩니다.
- 사용자가 IdP에 등록된 재방문 계정이 없는 경우 RP가 제공한 순서가 적용됩니다.
FedCM은 개발자가 요청하고 재방문 계정이 하나인 경우 자동 재인증을 허용합니다. 다중 IdP의 경우 여러 IdP에 재방문 계정이 있는 경우 사용자는 자동으로 재인증되지 않습니다. 재방문 계정이 있는 경우 자동 재인증이 가능합니다. 브라우저가 계정을 명시적으로 인식한 경우에만 브라우저에서 자동 재인증을 시작합니다. 이는 사용자가 이전에 이 RP에서 이 특정 계정으로 FedCM을 사용했음을 의미합니다.
사용자의 로그인 상태가 IdP에 대해 로그아웃으로 설정된 경우 FedCM을 호출해도 해당 IdP의 계정이 가져오지 않습니다. 마찬가지로 사용 가능한 모든 IdP에서 로그아웃된 상태인 경우 FedCM 로그인 메시지가 위젯 모드에 자동으로 표시되지 않습니다.
IdP의 브라우저에 저장된 로그인 상태가 로그인되었지만 가져오기 요청에서 이 IdP의 계정이 반환되지 않은 경우 (예: 사용자 세션이 만료되었지만 브라우저에서 아직 로그인 상태를 업데이트하지 않은 경우) IdP에 일치하지 않는 UI가 표시되어 사용자가 일치하지 않는 IdP로 로그인하라는 메시지를 표시합니다.
로그인 상태에 관한 자세한 내용은 문서를 참고하세요. 구현 세부정보는 개발자 가이드를 참고하세요.
오리진 체험판: 멀티 IdP API
데모 RP의 사용자 또는 Chrome 128 이상을 사용하는 개발자로서 Multi IdP API를 사용해 볼 수 있습니다.
사용자로서 사용해 보기
사용자로서 직접 사용해 보세요. 다음 사항을 확인하세요.
- Chrome이
chrome://settings/content/federatedIdentityApi
페이지에서 서드 파티 로그인 메시지를 차단하도록 구성되지 않았습니다. - 여러 데모 IdP에 로그인되어 있습니다. 데모 페이지의 안내를 따르세요.
출처 무료 체험에 등록되지 않은 출처의 사이트에서 멀티 IDP를 사용해 보려면 chrome://flags/#fedcm-multi-idp
에서 기능 플래그를 사용 설정해야 합니다.
개발자로 사용해 보기
로그인 제공업체에 RP에 삽입된 JavaScript SDK가 있는 경우 (권장) 제공업체에서 여러 IdP를 사용 설정하는 navigator.credentials.get()
호출을 구현할 수 있으며 RP 개발자는 코드를 변경할 필요가 없습니다. 그러지 않으면 RP가 FedCM API를 직접 호출해야 합니다.
RP에서 멀티 ID 공급자를 테스트하려면 다음과 같이 지원되는 제공업체 배열을 지정합니다.
try {
const cred = await navigator.credentials.get({
identity: {
providers: [
{
configUrl: "https://idp1.example/foo.json", // first IdP
clientId: "123",
},
{
configUrl: "https://idp2.example/bar.json", // second IdP
clientId: "456",
}
]
}
});
const token = cred.token;
const currentConfigFileUrl = cred.configURL;
if (cred.configURL === 'https://idp1.example/foo.json') {
// handle the token for idp1.example
} else if (cred.configURL === 'https://idp2.example/bar.json') {
// handle the token for idp2.example
}
} catch (error) {
console.error("Error during credential retrieval:", error);
}
결과 객체 내의 configURL
속성은 사용자가 인증한 IdP의 구성 파일 URL을 저장합니다. RP는 결과 token
을 처리하는 방법을 결정할 수 있습니다. 이는 IdP에 따라 다릅니다.
오리진 트라이얼 참여
오리진 트라이얼을 통해 새로운 기능을 사용해 보고 사용성, 실용성, 효과에 관한 의견을 제공할 수 있습니다. 자세한 내용은 출처 무료 체험판 시작하기를 참고하세요.
Chrome 128부터 출처 체험판에 등록하여 다중 IdP 기능을 사용해 볼 수 있습니다.
RP는 멀티 IDP를 사용해 보려면 출처를 등록하고 퍼스트 파티 출처 체험판을 실행하면 됩니다. IdP가 서드 파티 출처 체험판에 등록하고 JavaScript SDK를 사용하는 모든 RP에 멀티 IdP 기능을 사용할 수도 있습니다.
오리진 트라이얼에 참여하는 단계는 다음과 같습니다.
- 멀티 IdP API 출처 체험판 등록 페이지로 이동합니다.
- 등록 버튼을 클릭하고 양식을 작성하여 토큰을 요청합니다.
- 퍼스트 파티 오리진 체험판에 등록하려면 '웹 오리진' 입력란에 RP의 오리진을 입력합니다. 서드 파티 출처 체험판의 경우 IdP의 JavaScript SDK 출처를 입력하고 '서드 파티 일치' 체크박스를 선택합니다.
- 제출을 클릭합니다.
- RP 페이지에 발급된 토큰을 제공합니다.
- 퍼스트 파티 오리진 트라이얼 참여자의 경우:
<head>
의 메타 태그로:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- HTTP 헤더:
Origin-Trial: TOKEN_GOES_HERE
- 서드 파티 오리진 체험판 참여자의 경우:
- 프로그래매틱 방식으로 토큰을 제공합니다.
- 퍼스트 파티 오리진 트라이얼 참여자의 경우:
Android의 Chrome용 Button Mode API
Chrome 버전 128부터 Button Mode API의 오리진 트라이얼이 Android용 Chrome에서 시작됩니다. 이 트라이얼은 초기 데스크톱 트라이얼에 이어 진행됩니다. Button Mode API를 사용하면 ID 공급업체는 사용자가 API 호출 시 IdP에서 로그아웃한 경우에도 FedCM API를 사용할 수 있습니다. 로그인 흐름은 사용자 동작에 의해 시작되므로 사용자의 의도를 더 잘 반영합니다.
Chrome 128에서는 IdP가 클라이언트 메타데이터 엔드포인트 응답에 RP의 공식 로고 아이콘을 직접 포함할 수 있는 새로운 기능이 도입되었습니다. 이렇게 하면 버튼 모드에서 휴대기기의 UI가 개선됩니다.
구성 파일의 IdP 브랜딩과 마찬가지로 RP의 아이콘은 IdP 측에서 구성하고 다음과 같이 client_metadata_endpoint
응답으로 반환할 수 있습니다.
"privacy_policy_url": "https://rp.example/privacy_policy.html",
"terms_of_service_url": "https://rp.example/terms_of_service.html",
"icons": [{
"url": "https://idp.example/rp-icon.ico",
"size": 40
}]

아이콘 지원에 관해 자세히 알아보려면 개발자 문서를 참고하세요.
사용자가 아직 로그인하지 않은 경우 FedCM은 Chrome 맞춤 탭 (CCT)을 통해 IdP에서 제공한 login_url
를 사용하여 IdP에 로그인하라는 메시지를 표시합니다.
사용자가 재방문 계정으로 다시 인증하는 경우 공개 UI가 표시되지 않습니다.
오리진 트라이얼에 등록하려면 데스크톱의 Button Mode API 안내를 참고하세요. 데스크톱에서 이미 원본 체험판에 가입한 경우 Chrome 128부터 Android의 Chrome에서 이 기능을 자동으로 사용할 수 있습니다.
Android용 Chrome의 연속 API 번들
Chrome 버전 128부터 Continuation API 번들이 데스크톱에서의 초기 트라이얼에 이어 Android용 Chrome에서 오리진 트라이얼의 일환으로 제공됩니다. 번들은 연속 API, Parameters API, Fields API, Multiple configURLs, Custom Account Labels 등 여러 FedCM 기능으로 구성됩니다.
Continuation API를 사용하면 여러 단계로 이루어진 로그인 흐름을 사용할 수 있습니다. Parameters API를 사용하면 IdP에 추가 매개변수를 전달할 수 있습니다. Fields API를 사용하면 RP가 FedCM 대화상자의 공개 UI에 관한 특정 계정 속성을 요청할 수 있습니다. 또한 여러 configURL
는 IdP의 여러 구성 파일을 지원하며 맞춤 계정 라벨을 사용하면 IdP가 계정에 주석을 추가하여 RP가 이러한 라벨로 계정을 필터링할 수 있습니다.
Continuation API 번들에 관해 자세히 알아보려면 데스크톱의 Continuation API 번들에 관한 블로그 게시물을 참고하세요. 시작판 체험판에 등록하려면 이 안내를 따르세요. 데스크톱에서 이미 원본 체험판에 가입한 경우 Chrome 128부터 Android의 Chrome에서 자동으로 기능을 사용할 수 있습니다.
참여 및 의견 공유
의견이 있거나 문제가 발생하면 문제를 신고할 수 있습니다. Google은 누적된 업데이트 로그 페이지와 함께 표준 FedCM 개발자 가이드를 최신 상태로 유지할 예정입니다.