본문 바로가기

카테고리 없음

Credential Handler API 1.0 (번역)

요약
Credential Management Level 1은 웹 사이트가 사용자 에이전트로부터 사용자의 크레덴셜을 요청하고 사용자 에이전트가 향후 사용을 위해 사용자 크레덴셜을 올바르게 저장할 수 있도록하는 필수 API를 설명합니다. 해당 API를 구현하는 사용자 에이전트는 사용자에게 크레덴셜 요청을 처리 할 방법을 선택하라는 메시지를 표시 한 후 사용자 에이전트가 원래 사이트에 크레덴셜을 반환합니다. 이 사양은 타사 웹 응용 프로그램이 크레덴셜 요청 및 저장소를 처리 할 수 ​​있도록하는 기능을 정의합니다.

이 문서의 상태
이 사양은 Credentials Community Group에서 게시했습니다. W3C 표준이 아니며 W3C 표준 트랙에도 없습니다. W3C Community Contributor 라이선스 계약 (CLA)에 따라 제한된 옵트 아웃이 있으며 기타 조건이 적용됩니다. W3C 커뮤니티 및 비즈니스 그룹에 대해 자세히 알아보십시오.

Credentials Community Group은 그룹이 아직 해결하지 않은 모든 버그 보고서 목록을 유지합니다. 이 초안은 커뮤니티 그룹에서 아직 논의해야 할 몇 가지 현안을 강조합니다. 이러한 문제의 유효성 여부를 포함하여 이러한 문제의 결과에 대한 결정은 내려지지 않았습니다. 미해결 문제에 대해 제안 된 사양 텍스트가있는 pull 요청을 적극 권장합니다.

  1. 소개
    이 섹션은 비표준입니다.

Credentials Community Group의 임무는 크레덴셜의 생성, 저장, 표시, 확인 및 사용자 제어를 탐색하는 것입니다. 주체 (개인, 그룹 또는 사물)에 대해 발급자가 만든 검증 가능한 크레덴셜 (클레임 집합)에 초점을 맞 춥니 다. 다음과 같은 접근 방식을 포함하는 해결책을 모색합니다. 자기 주권 적 정체성; 무기명 증명 제출; 데이터 최소화; 중앙 집중식, 페더레이션 및 분산 형 레지스트리 및 ID 시스템. 따라서 Credentials Community Group은 사용자가 신뢰할 수있는 타사 웹 응용 프로그램을 자격 증명 요청 및 자격 증명 저장소에 대한 처리기로 지정할 수 있도록 Credential Management Level 1 API를 확장하는 사양을 제공합니다.

Acredential repositoryis a Web application that can handle credential requests and credential storage on behalf of the user. This specification defines a number of new Web platform features to handle credential requests and credential storage:

크레덴셜 저장소는 사용자 대신 크레덴셜 요청과 크레덴셜 저장소를 처리 할 수있는 웹 응용 프로그램입니다. 이 사양은 크레덴셜 요청과 크레덴셜 저장소를 처리하기 위한 여러 새로운 웹 플랫폼 기능을 정의합니다.

  • 크레덴셜 저장 이벤트와 크레덴셜 요청을 처리하기 위한 원본 기본 권한
  • 새롭고 유연한 크레덴셜 ([credential-management-1])WebCredential.
  • 크레덴셜 요청 이벤트 타입CredentialRequestEvent과 크레덴셜 저장 이벤트 타입CredentialStoreEvent
  • 서비스 워커 등록 인터페이스 (CredentialManager)에 대한 확장으로 [CredentialHint]의 정의, 표시 및 사용자 선택을 관리.
  • CredentialRequestEvent과 CredentialStoreEvent에 응답하는 메커니즘입니다.

이 사양은 운영 체제 별 메커니즘 (예 : "네이티브 모바일 앱")으로 구축 된 소프트웨어가 자격 증명 요청 및 자격 증명 저장소를 처리하는 방법을 다루지 않습니다.

2.Conformance

This specification defines one class of products:비표준으로 표시된 섹션뿐만 아니라이 사양의 모든 작성 지침, 다이어그램, 예제 및 참고 사항은 비표준입니다. 이 사양의 다른 모든 내용은 표준입니다.

이 문서의 키워드 MAY, MUST, NOT REQUIRED, SHOULD, SHOULD NOT은 여기에 표시된대로 모두 대문자로 표시되는 경우에만 BCP 14 [RFC2119] [RFC8174]에 설명 된대로 해석되어야 합니다.

준수하는 사용자 에이전트
사용자 에이전트는 준수로 간주되기 위해이 사양에 설명 된대로 동작해야합니다. 본 명세서에서 사용자 에이전트는 [HTML5]에 정의 된 웹 브라우저 또는 기타 대화 형 사용자 에이전트를 의미합니다.

사용자 에이전트는 최종 결과가 사양의 알고리즘에 의해 얻어지는 결과와 구별 할 수없는 한 원하는 방식으로이 사양에 제공된 알고리즘을 구현할 수 있습니다.

준수하는 Credential Handler API 사용자 에이전트는 "Web IDL"사양에 설명 된대로이 사양의 IDL 단편의 준수 구현이어야합니다. [WEBIDL-LS]

노트
이 사양에서는이 제품 클래스를 나타 내기 위해 "적합한 사용자 에이전트"및 "사용자 에이전트"라는 용어를 모두 사용합니다.

3.Overview of Handling Credential Request and Storage

이 문서에서는 자격 증명 요청에 대한 다음 흐름을 구상합니다.

  1. 오리진은 지원되는 자격 증명 유형 집합에 대한 자격 증명 요청 및 저장소를 처리하기 위해 사용자에게 권한을 요청합니다. 예를 들어, 디지털 월렛 공급자 사이트를 방문하는 사용자는 해당 출처에서 자격 증명 처리기를 등록하라는 메시지가 표시 될 수 있습니다. 원본은 권한의 범위를 설정하지만 원본의 기능은 추가 사용자 동의없이 발전 할 수 있습니다.

  2. Credential handlerservice worker코드에 정의되어 있습니다.

  3. 서비스 워커 등록시 CredentialManager는 다음을 설정하는 데 사용됩니다.

    • 사용가능한 WebCredential 타입의 목록.
    • [Optionally] 핸들러가 주어진 WebCredential 유형을 지원하는 조건; 이것match은 계산을 일치시키는 역할을합니다.
    • crendetial 핸들러가 지원하는 힌트 표시에 사용되는 정보입니다.
  4. 자격 증명 처리기와 상호 작용하기위한 두 가지 진입 점이 있습니다. 신뢰 당사자(a.k.a 베리파이어)가 [credential-management-1] 메서드를 호출 할 때 get () (예 : 사용자가 ID 속성 또는 인증이 필요한 페이지에서 버튼을 누를 때) WebCredentialRequestOption을 사용하고 발급자가 WebCredential을 사용하여 [credential-management-1] methodstore ()를 호출 할 때 (예 : 사용자가 자격 증명을 받기 위해 버튼을 누를 때). 이 두 경우 모두 사용자 에이전트는 신뢰 당사자가 허용하는 WebCredential 유형을 등록 된 크레덴셜 핸들러가 지원하는 유형과 비교하여 후보 자격 증명 힌트 목록을 계산합니다. 추가 필터링을 지원하는 WebCredential 유형의 경우 신뢰 당사자의 특정 요청과 각 자격 증명 힌트의 일치 정보가 호환성 여부를 확인하는 과정에서 비교됩니다.

  5. 사용자 에이전트는 후보 자격 증명 처리기의 등록 된 [힌트] (https://w3c-ccg.github.io/credential-handler-api/#dom-credentialmanager-hints)와 같은 선택 항목을 사용자에게 표시합니다. 사용자 에이전트는 등록시 제공되거나 웹 앱에서 제공되는 정보 (레이블 및 아이콘)를 사용하여 이러한 선택 사항을 표시합니다.

  6. 사용자가 a [hint] (https://w3c-ccg.github.io/credential-handler-api/#dom-credentialmanager-hints)를 선택하면 사용자 에이전트가 [실행] (https : //dom.spec. whatwg.org/#firing-events) a [CredentialRequestEvent] (https://w3c-ccg.github.io/credential-handler-api/#dom-credentialrequestevent) (참조 : the [사용자 상호 작용 작업 소스] (https : //www.w3.org/TR/html5/#user-interaction-task-source)) 또는 a [CredentialStoreEvent] (https://w3c-ccg.github.io/credential-handler-api/#dom-credentialstoreevent ) (호출 된 메서드에 따라) 힌트가 등록 된 서비스 워커의 [CredentialManager] (https://w3c-ccg.github.io/credential-handler-api/#dom-serviceworkerregistration-credentialmanager). [CredentialRequestEvent] (https://w3c-ccg.github.io/credential-handler-api/#dom-credentialrequestevent)에는 CredentialRequestOptions (\ [[credential-management-1] (https : // w3c- ccg.github.io/credential-handler-api/#bib-credential-management-1) ]), 자격 증명 유형별 옵션 및 추가 정보 (예 : 출처 및 선택한 힌트) 포함.

  7. 자격 증명 처리기가 활성화되면 [자격 증명 요청 처리] (https://w3c-ccg.github.io/credential-handler-api/#handling-a-credential-request) 또는 [자격 증명 처리]에 필요한 모든 단계를 수행합니다. storage] (https://w3c-ccg.github.io/credential-handler-api/#handling-credential-storage)하고 적절한 WebCredential을 신뢰 당사자 또는 발급자에게 반환합니다. 사용자와의 상호 작용이 필요한 경우 [credential handler] (https://w3c-ccg.github.io/credential-handler-api/#dfn-credential-handler)는 해당 목적을 위해 컨텍스트 별 창을 열 수 있습니다.

  8. 사용자 에이전트는 자격 증명 처리기가 요청 처리를 완료하면 비동기 적으로 응답을받습니다. 응답은 WebCredential이거나 요청이 거부 된 경우 null입니다.