Creare credenziali verificabili con più attestazioni
Una definizione di regole che usa più tipi di attestazioni produce un flusso di rilascio in cui le attestazioni provengono da più di un'origine. Ad esempio, potrebbe essere necessario presentare una credenziale esistente e immettere manualmente i valori per le attestazioni in Microsoft Authenticator.
In questa guida pratica, si estende l'esempio di attestazione dell'hint del token ID aggiungendo un'attestazione autocertificata che l'utente deve inserire nell'autenticatore durante il rilascio. La richiesta di rilascio all'ID verificato contiene un suggerimento per il token ID con i valori della dichiarazione per given_name
e family_name
, e un tipo di attestazione autocertificato per la dichiarazione displayName
immessa dall'utente.
Creare credenziali personalizzate con più tipi di attestazione
Nel portale di Azure, quando si seleziona Aggiungi credenziali, si ha la possibilità di avviare due avvii rapidi. Selezionare credenziali personalizzate e quindi avanti.
Nella pagina Crea una nuova credenziale immettere il codice JSON per la visualizzazione e le definizioni delle regole. Nella casella Nome credenziali assegnare alla credenziale un nome di tipo. Per creare le credenziali, selezionare Crea.
Definizioni di visualizzazione JSON di esempio
La definizione di visualizzazione JSON ha un'attestazione aggiuntiva chiamata displayName rispetto alla definizione di visualizzazione del token ID hint.
{
"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"
}
]
}
Definizioni di regole JSON di esempio
La definizione delle regole JSON contiene due attestazioni diverse che indicano all'Autenticatore di ottenere i valori delle attestazioni da due origini diverse. La richiesta di rilascio all'API del Servizio Richiesta fornisce i valori per i claim given_name e family_name per soddisfare l'attestazione idTokenHints. All'utente viene chiesto di inserire il valore dell'attestazione per displayName nell'autenticatore durante il rilascio.
{
"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"
]
}
}
Inserimento delle attestazioni durante il rilascio
Durante il rilascio, Authenticator richiede all'utente di immettere i valori per le attestazioni specificate. L'input dell'utente non viene convalidato.
Dichiarazioni nelle credenziali emesse
Le credenziali rilasciate contengono tre attestazioni in totale, dove
Configurare i campioni per emettere e verificare la credenziale personalizzata
Per configurare il codice di esempio per emettere e verificare le credenziali personalizzate, è necessario:
- Identificatore decentralizzato dell'autorità emittente del tenant (DID)
- Tipo di credenziale
- URL del manifesto della credenziale
Il modo più semplice per trovare queste informazioni per le credenziali personalizzate consiste nell'accedere alle credenziali nella portale di Azure. Selezionare Rilascia credenziali. È quindi possibile accedere a una casella di testo con un payload JSON per l'API del servizio di richiesta. Sostituisci i valori segnaposto con le informazioni del tuo ambiente. Il DID dell'autorità emittente è il valore di autorità.
Passaggi successivi
Consultare il riferimento alle regole e alle definizioni di visualizzazione.