Verifieerbare referenties maken met meerdere attestations
Een regeldefinitie die gebruikmaakt van meerdere attestations-typen produceert een uitgiftestroom waarbij claims afkomstig zijn van meer dan één bron. U moet bijvoorbeeld mogelijk een bestaande referentie presenteren en ook handmatig waarden invoeren voor claims in Microsoft Authenticator.
In deze instructiegids breiden we het attestation-voorbeeld van id-tokenhint uit door een zelf geteste claim toe te voegen die de gebruiker tijdens de uitgifte moet invoeren in de Authenticator. De uitgifteaanvraag voor geverifieerde id bevat een hint voor het id-token met de claimwaarden voor given_name
en family_name
een zelf-uitgegeven attestation-type voor claim displayName
die de gebruiker zelf invoert.
Een aangepaste referentie maken met meerdere attestation-typen
Wanneer u in de Azure-portal Aanmeldingsgegeven toevoegen selecteert, krijgt u de optie om twee quickstarts te starten. Selecteer Aangepaste aanmeldingsgegeven en selecteer vervolgens Volgende.
Voer op de pagina Nieuw aanmeldingsgegeven maken de JSON-code voor de weergave en de regeldefinities in. Geef in het vak Naam aanmeldingsgegeven een typenaam op voor het aanmeldingsgegeven. Selecteer Maken om het aanmeldingsgegeven te maken.
Voorbeelddefinities van JSON-weergaven
De JSON-weergavedefinitie heeft één extra claim met de naam displayName vergeleken met de weergavedefinitie van het id-token.
{
"locale": "en-US",
"card": {
"title": "Verified Credential Expert",
"issuedBy": "Microsoft",
"backgroundColor": "#507090",
"textColor": "#ffffff",
"logo": {
"uri": "https://didcustomerplayground.z13.web.core.windows.net/VerifiedCredentialExpert_icon.png",
"description": "Verified Credential Expert Logo"
},
"description": "Use your verified credential to prove to anyone that you know all about verifiable credentials."
},
"consent": {
"title": "Do you want to get your Verified Credential?",
"instructions": "Sign in with your account to get your card."
},
"claims": [
{
"claim": "vc.credentialSubject.displayName",
"label": "Name",
"type": "String"
},
{
"claim": "vc.credentialSubject.firstName",
"label": "First name",
"type": "String"
},
{
"claim": "vc.credentialSubject.lastName",
"label": "Last name",
"type": "String"
}
]
}
Voorbeelden van JSON-regeldefinities
De definitie van de JSON-regels bevat twee verschillende attestations die de Authenticator instrueren om claimwaarden op te halen uit twee verschillende bronnen. De uitgifteaanvraag voor de Request Service-API biedt de waarden voor de claims given_name en family_name om te voldoen aan de attestation idTokenHints . De gebruiker wordt gevraagd om de claimwaarde voor displayName in de Authenticator in te voeren tijdens de uitgifte.
{
"attestations": {
"idTokenHints": [
{
"mapping": [
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
],
"selfIssued": {
"mapping": [
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "displayName",
"indexed": false
}
],
"required": false
}
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Invoer van claims tijdens uitgifte
Tijdens de uitgifte vraagt Authenticator de gebruiker om waarden voor de opgegeven claims in te voeren. De gebruikersinvoer wordt niet gevalideerd.
Claims in uitgegeven referentie
De uitgegeven referenties hebben in totaal drie claims, waarbij de First
en Last name
afkomstig zijn van de attestation voor de id-tokenhint en die Name
afkomstig zijn van de zelf uitgegeven attestation.
De voorbeelden configureren om uw aangepaste aanmeldingsgegevens uit te geven en te verifiëren
Om uw voorbeeldcode te configureren om uw aangepaste aanmeldingsgegeven uit te geven en te verifiëren, hebt u het volgende nodig:
- De gedecentraliseerde id van de uitgever van uw tenant (DID)
- Het type aanmeldingsgegevens
- De manifest-URL naar uw aanmeldingsgegevens
De eenvoudigste manier om deze informatie te vinden voor een aangepast aanmeldingsgegeven is door in de Azure-portal naar uw aanmeldingsgegeven te gaan. Selecteer Aanmeldingsgegevens uitgeven. Vervolgens hebt u toegang tot een tekstvak met een JSON-payload voor de Request Service-API. Vervang de plaatsaanduidingen door de informatie van uw omgeving. De DID van de uitgever is de autoriteitswaarde.