FedCM API (Federated Credential Management API)
개요
- 웹에서의 사용자 인증을 표준화/간소화하기 위한 기술
- 브라우저가 idP를 통한 인증을 주관하여 '제3자 쿠키'에 의한 사용자 추적을 방지 (프라이버시 강화)
- 브라우저가 사용자 identity 정보를 관리하여 보안성 강화
- FedCM API는 브라우저 벤더가 개발하여 브라우저에 탑재하는 것
표준화 현황
- W3C Federated Credential Management API 스펙
- 2024-08-20 현재, First Public Working Draft 단계
브라우저 지원 현황
- Can I Use FederatedCredential Now?
- 일부 브라우저 미지원 (그럼에도 불구하고 전세계 사용자의 75%를 커버)
- Chrome, Edge, Android 브라우저가 지원 (Safari, Firefox, iOS 브라우저가 미지원)
FedCM API를 이용한 인증 Flow
- OAuth2/OIDC의 'authZ code flow'와 비슷
- RP와 idP 간의 리다이렉션이 제거됨 (그래서 오류 가능성과 정보 유출 가능성이 낮아짐)
원 모어 띵: navigator.credentials.get() 메소드
- 브라우저에서 일어나는 인증 과정의 시작점
- get() 메소드에 전달하는 인자만 바꾸면 id/pswd 인증, 소셜 로그인 인증, 패스키 인증, FedCM 인증을 일관되게 처리 가능
- 다양한 인증 기술들이 제안되고, 실험되다가 종국에는 브라우저로 수렴되는 느낌 (브라우저는 웹3 세계의 OS)