Condividi tramite


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.

Screenshot della guida rapida per il rilascio di credenziali per creare credenziali personalizzate.

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.

Screenshot della pagina

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.

Screenshot dell'input delle attestazioni autoemesse.

Dichiarazioni nelle credenziali emesse

Le credenziali rilasciate contengono tre attestazioni in totale, dove e provengono dall'attestazione dell'hint del token ID e proviene dall'attestazione auto-emessa.

Screenshot delle attestazioni nelle credenziali rilasciate.

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à.

Screenshot del problema delle credenziali personalizzate di quickstart.

Passaggi successivi

Consultare il riferimento alle regole e alle definizioni di visualizzazione.