규칙 및 디스플레이 정의 참조
규칙 및 디스플레이 정의는 자격 증명을 정의하는 데 사용됩니다. 자격 증명을 사용자 지정하는 방법에서 자세한 내용을 확인할 수 있습니다.
rulesModel 형식
JSON의 증명 유형 예제입니다. selfIssued
는 단일 인스턴스인 반면 다른 것은 컬렉션입니다. 증명 형식을 사용하는 방법에 대한 예제는 방법 가이드의 샘플 JSON 규칙 정의를 참조하세요.
"attestations": {
"idTokens": [],
"idTokenHints": [],
"presentations": [],
"selfIssued": {}
}
idTokenAttestation 형식
Authenticator 내에서 사용자를 로그인할 때 OpenID Connect 호환 공급자로부터 반환된 ID 토큰을 입력으로 사용할 수 있습니다.
속성 |
Type |
설명 |
mapping |
claimMapping(선택 사항) |
확인 가능한 자격 증명의 출력 클레임에 입력 클레임을 매핑하는 규칙 |
configuration |
문자열(URL) |
ID 공급자의 구성 문서 위치 |
clientId |
string |
ID 토큰을 가져올 때 사용할 클라이언트 ID |
redirectUri |
string |
ID 토큰을 가져올 때 사용할 리디렉션 URI는 vcclient://openid/ 여야 함 |
scope |
string |
ID 토큰을 가져올 때 사용할 공백으로 구분된 범위 목록 |
required |
부울(기본값 false) |
이 증명이 필요한지 여부 표시 |
trustedIssuers |
선택적 속성(배열) |
이 계약에 대해 확인 가능한 자격 증명을 발급할 수 있도록 허용된 DID 목록입니다. 이 속성은 id_token_hint 가 다른 발급자로부터 올 수 있는 특정 시나리오에만 사용됩니다. |
idTokenHintAttestation 형식
이 흐름은 요청 REST API를 통해 페이로드로 제공되는 ID 토큰 힌트를 사용합니다. 매핑은 ID 토큰 증명과 동일합니다.
속성 |
Type |
설명 |
mapping |
claimMapping(선택 사항) |
확인 가능한 자격 증명의 출력 클레임에 입력 클레임을 매핑하는 규칙 |
required |
부울(기본값 false) |
이 증명이 필요한지 여부를 나타냅니다. 필요한 클레임이 createPresentationRequest 페이로드에 설정되지 않은 경우요청 서비스 API는 호출에 실패합니다. |
trustedIssuers |
선택적 속성(배열) |
이 계약에 대해 확인 가능한 자격 증명을 발급할 수 있도록 허용된 DID 목록입니다. 이 속성은 id_token_hint 가 다른 발급자로부터 올 수 있는 특정 시나리오에만 사용됩니다. |
verifiablePresentationAttestation 형식
사용자가 다른 확인 가능한 자격 증명을 발급된 새 확인 가능한 자격 증명에 대한 입력으로 표시하도록 하려는 경우입니다. 전자지갑을 사용하면 발급 중에 확인 가능한 자격 증명을 선택할 수 있습니다.
속성 |
Type |
설명 |
mapping |
claimMapping(선택 사항) |
확인 가능한 자격 증명의 출력 클레임에 입력 클레임을 매핑하는 규칙 |
credentialType |
문자열(선택 사항) |
입력의 필수 자격 증명 형식 |
required |
부울(기본값 false) |
이 증명이 필요한지 여부 표시 |
trustedIssuers |
문자열(배열) |
이 계약에 대해 확인 가능한 자격 증명을 발급할 수 있도록 허용된 DID 목록입니다. 서비스는 기본적으로 커버 아래에 있는 발급자이므로 이 값을 직접 제공할 필요가 없습니다. |
selfIssuedAttestation 형식
사용자가 정보를 직접 입력하도록 하려는 경우 이 형식을 자체 증명된 입력이라고도 합니다.
속성 |
Type |
설명 |
mapping |
claimMapping(선택 사항) |
확인 가능한 자격 증명의 출력 클레임에 입력 클레임을 매핑하는 규칙 |
required |
부울(기본값 false) |
이 증명이 필요한지 여부 표시 |
claimMapping 형식
속성 |
Type |
설명 |
inputClaim |
string |
입력에서 사용할 클레임의 이름 |
outputClaim |
string |
확인 가능한 자격 증명의 클레임 이름 |
indexed |
부울(기본값 false) |
이 클레임의 값이 검색에 사용되는지 여부를 나타냅니다. 지정된 계약에 대해 하나의 clientMapping 개체만 인덱싱할 수 있습니다. |
required |
부울(기본값 false) |
이 매핑이 필요한지 여부 표시 |
type |
문자열(선택 사항) |
클레임 형식 |
vcType 형식
속성 |
Type |
설명 |
type |
문자열(배열) |
이 계약이 발급할 수 있는 확인 가능한 자격 증명 형식 목록 |
규칙 정의 예제:
{
"attestations": {
"idTokenHints": [
{
"mapping": [
{
"outputClaim": "givenName",
"required": false,
"inputClaim": "given_name",
"indexed": false
},
{
"outputClaim": "familyName",
"required": false,
"inputClaim": "family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
displayModel 형식
displayCredential 형식
속성 |
Type |
설명 |
title |
string |
자격 증명의 제목 |
issuedBy |
string |
자격 증명 발급자의 이름 |
backgroundColor |
수(16진수) |
16진수 형식의 자격 증명 배경색(예: #FFAABB) |
textColor |
수(16진수) |
16진수 형식의 자격 증명 텍스트 색(예: #FFAABB) |
description |
string |
각 자격 증명과 함께 표시되는 추가 텍스트 |
logo |
displayCredentialLogo |
자격 증명에 사용할 로고 |
displayCredentialLogo 형식
속성 |
Type |
설명 |
uri |
문자열(URL) |
로고의 URL입니다. |
description |
string |
로고에 대한 설명 |
참고 항목
파일 형식 오류를 줄이기 위해 .PNG, .JPG 또는 .BMP 같은 널리 지원되는 이미지 형식을 사용하는 것이 좋습니다.
displayConsent 형식
속성 |
Type |
설명 |
title |
string |
동의의 제목 |
instructions |
string |
동의를 표시할 때 사용할 추가 텍스트 |
displayClaims 형식
속성 |
Type |
설명 |
label |
string |
표시되는 클레임의 레이블 |
claim |
string |
레이블이 적용되는 클레임의 이름입니다. JWT-VC 형식의 경우 값에 vc.credentialSubject. 접두사가 있어야 합니다. |
type |
string |
클레임의 형식 |
description |
문자열(선택 사항) |
클레임에 대한 설명 |
표시 정의 예제:
{
"locale": "en-US",
"card": {
"backgroundColor": "#FFA500",
"description": "This is your Verifiable Credential",
"issuedBy": "Contoso",
"textColor": "#FFFF00",
"title": "Verifiable Credential Expert",
"logo": {
"description": "Default VC logo",
"uri": "https://didcustomerplayground.z13.web.core.windows.net/VerifiedCredentialExpert_icon.png"
}
},
"consent": {
"instructions": "Please click accept to add this credentials",
"title": "Do you want to accept the verified credential expert dentity?"
},
"claims": [
{
"claim": "vc.credentialSubject.givenName",
"label": "Name",
"type": "String"
},
{
"claim": "vc.credentialSubject.familyName",
"label": "Surname",
"type": "String"
}
]
}
다음 단계