FedCM에서 자동 재인증 지원

Chrome은 FedCM에서 자동 재인증을 지원함

Federated Credential Management API (FedCM)는 웹 API를 사용할 수도 있습니다. ID 제휴를 사용하면 RP (신뢰 당사자)는 IdP (ID 공급업체)를 통해 사용자에게 새 사용자 이름과 비밀번호를 요구하지 않고 계정을 만들 수 있습니다.

FedCM을 사용하면 브라우저에서 RP 및 IdP가 사용되는 컨텍스트를 파악할 수 있습니다. 정보를 교환할 수 있습니다. 사용자에게 정보와 권한을 알립니다. 공유하고 의도치 않은 악용을 방지합니다. FedCM은 Chrome은 버전 108부터 지원됩니다.

Chrome 115에서 FedCM은 자동 재인증 지원을 통해 사용자 환경을 개선하고 RP에 대한 더 간소화된 재인증을 사용 설정합니다. 초기 동의 후

자동 재인증

현재는 사용자가 IdP를 사용하여 RP에 제휴 계정을 생성한 후 FedCM API를 통해 웹사이트를 방문하면 사용자 인터페이스에서 동일한 단계를 거쳐야 합니다. 즉, 사용자는 명시적으로 수동으로 재확인해야 합니다. 재인증하고 로그인 과정을 진행합니다.

명시적인 사용자 경험은 사용자가 추적 방지를 위한 제휴 계정 (FedCM의 주요 목표 중 하나) 사용자가 한 번 진행한 후에는 불필요하게 번거롭습니다. 사용자가 RP와 IdP 간의 통신을 허용하는 권한을 부여합니다. 다른 명시적인 사용자를 시행해도 개인 정보 보호나 보안상 이점이 없음 자신이 이전에 인정한 것에 대한 확인입니다. 이러한 이유로 Google에서는 RP가 선택할 수 있는 보다 간소화된 UX를 도입합니다. 재방문 사용자를 추적할 수 있습니다

FedCM 자동 재인증 ('auto-reauthn')을 사용하면 FedCM을 사용한 초기 인증 후 재방문 "초기 인증' 사용자가 계정을 만들거나 RP의 FedCM의 로그인 대화상자에서 '다음으로 계속' 버튼을 탭하여 웹사이트를 인증합니다. 할 수 있습니다.

<ph type="x-smartling-placeholder">
</ph> 사용자가 계정을 만들거나 인증하기 위해 탭하는 대화상자입니다.
사용자가 계정을 만들거나 인증을 위해 탭하는 대화상자

자동 재인증 옵션 선택

YouTube는 더 나은 UX를 제공하고 기본 사용자 환경은 코드가 없어도 있습니다. 자동 재인증을 사용하면 브라우저의 작동 방식이 다음에 따라 변경됩니다. 개발자가 제공하는 mediation 옵션에서 선택하는 옵션 navigator.credentials.get()입니다.

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
  },
  mediation: 'optional', // this is the default
});

mediation사용자 인증 정보 관리의 속성입니다. API를 사용하여 첫 번째 줄에서 동일한 최대한 ~하는 PasswordCredentialFederatedCredential Google Kubernetes Engine, PublicKeyCredential 확인할 수 있습니다 속성에는 다음 4개의 값이 허용됩니다.

  • 'required': 계속 진행하려면 항상 미디에이션이 필요합니다(예: "계속" 버튼을 클릭합니다. 사용자가 다음 작업을 수행해야 하는 경우 이 옵션을 선택하세요. 인증이 필요할 때마다 명시적으로 권한을 부여해야 합니다.
  • 'optional'(기본값): 가능한 경우 자동 재인증, 그렇지 않은 경우 중재 필요 로그인 페이지에서 이 옵션을 선택하는 것이 좋습니다.
  • 'silent': 가능한 경우 자동 재인증, 중재할 수 있습니다 이 옵션은 사용자의 로그인 상태를 유지하려는 경우 예: 배송 웹사이트의 상품 페이지 또는 뉴스의 기사 페이지 있습니다.
  • 'conditional': WebAuthn에 사용되며 현재 FedCM에는 사용할 수 없습니다.

이 호출을 사용하면 다음 조건에서 자동 재인증이 실행됩니다.

  • FedCM을 사용할 수 있습니다. 예를 들어 사용자가 FedCM을 사용 중지하지 않았습니다. 전역적으로 또는 설정에서 RP에 적용됩니다.
  • 사용자가 FedCM API가 있는 계정을 하나만 사용하여 이 사이트에서 있습니다.
  • 사용자가 해당 계정으로 IdP에 로그인했습니다.
  • 최근 10분 이내에 자동 재인증이 발생하지 않았습니다.
  • RP가 전화를 걸지 않음 이후 navigator.credentials.preventSilentAccess() 이전 로그인 정보를 확인할 수 있습니다.

위 조건이 충족되면 자동으로 재인증 시도 FedCM navigator.credentials.get()가 호출되는 즉시 사용자가 시작됩니다.

<ph type="x-smartling-placeholder">
</ph>
FedCM을 통해 자동 재인증하는 사용자

preventSilentAccess()로 미디에이션 시행

사용자가 로그아웃한 직후에 자동 재인증을 해도 매우 우수한 사용자 환경입니다. 따라서 FedCM은 자동 재인증을 설정하여 이러한 동작을 방지합니다. 즉, 재인증이 필요한 경우 최대 10분에 한 번 10분 후에 다시 시도해 주세요. RP는 navgator.credentials.preventSilentAccess()를 호출하여 사용자가 로그아웃할 때 자동 재인증을 사용 중지하도록 브라우저에 명시적으로 요청 예를 들어 로그아웃 버튼을 클릭하여 RP를 명시적으로 지정할 수 있습니다.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

사용자는 설정에서 자동 재인증을 선택 해제할 수 있습니다.

사용자는 설정 메뉴에서 자동 재인증을 선택 해제할 수 있습니다.

  • 데스크톱 Chrome에서 chrome://password-manager/settings >로 이동합니다. 로그인 자동으로 확장 및 축소할 수 있습니다
  • Android Chrome의 경우 설정 > 비밀번호 관리자 > 톱니바퀴 아이콘 > 자동 로그인을 탭합니다.

전환 버튼을 사용 중지하면 사용자는 모든 경우에 자동 재인증 동작을 선택 해제할 수 있습니다. 있습니다. 사용자가 Google 계정에 로그인되어 있으며 동기화는 사용 설정되어 있습니다.

의견 공유

FedCM을 테스트하는 경우 의견이나 발생한 문제를 공유할 수 있습니다. crbug.com에서 'Blink>Identity>FedCM' 구성요소 아래에 있는지 확인합니다.

Noah Samuel Franz의 사진(Unsplash)