Condividi tramite


Rilasciare credenziali verificabili presentando attestazioni da credenziali verificabili esistenti

Una definizione di regole che usa il tipo di attestazione presentazioni produce un flusso di rilascio in cui si vuole che l'utente presenti un'altra credenziale verificabile nel portafoglio durante il rilascio e in cui i valori delle attestazioni per il rilascio delle nuove credenziali vengano ricavati dalle credenziali presentate. Un esempio può essere quando si presenta la credenziale VerifiedEmployee per ottenere credenziali passate dai visitatori.

Creare credenziali personalizzate con il tipo di attestazione delle presentazioni

Nella portale di Azure, quando si seleziona Aggiungi credenziali, si ottiene l'opzione per avviare due guide introduttive. Selezionare credenziali personalizzate e quindi avanti.

Screenshot of the 'Issue credentials' quickstart for creating a custom credential.

Nella pagina Crea una nuova credenziale immettere il codice JSON per la visualizzazione e le definizioni delle regole. Nella casella Nome credenziale assegnare un nome alla credenziale. Questo nome è solo un nome interno per le credenziali nel portale. Il nome del tipo della credenziale viene definito nel nome della vc.type proprietà nella definizione delle regole. Per creare le credenziali, selezionare Crea.

Screenshot of the 'Create a new credential' page, displaying JSON samples for the display and rules files.

Definizioni di visualizzazione JSON di esempio

La definizione di visualizzazione JSON è quasi identica, indipendentemente dal tipo di attestazione. È necessario modificare le etichette solo in base alle attestazioni presenti nelle credenziali verificabili. Il codice JSON previsto per le definizioni di visualizzazione è il contenuto interno della raccolta di visualizzazioni. JSON è una raccolta, quindi se si vogliono supportare più impostazioni locali, aggiungere più voci con una virgola come separatore.

{
  "locale": "en-US",
  "card": {
    "backgroundColor": "#000000",
    "description": "Use your verified credential to prove to anyone that you know all about verifiable credentials.",
    "issuedBy": "Microsoft",
    "textColor": "#ffffff",
    "title": "Verified Credential Expert",
    "logo": {
      "description": "Verified Credential Expert Logo",
      "uri": "https://didcustomerplayground.blob.core.windows.net/public/VerifiedCredentialExpert_icon.png"
    }
  },
  "consent": {
    "instructions": "Present your True Identity card to issue your VC",
    "title": "Do you want to get your Verified Credential?"
  },
  "claims": [
    {
      "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 di attestazione JSON deve contenere il nome delle presentazioni . La classe inputClaim nella sezione mapping definisce le attestazioni da acquisire nelle credenziali presentate dall'utente. Devono avere il prefisso $.vc.credentialSubject. OutputClaim ha definito il nome delle attestazioni nella credenziale da rilasciare.

La definizione di regole seguente chiederà all'utente di presentare le credenziali True Identity durante il rilascio. Queste credenziali provengono dall'applicazione demo pubblica.

{
  "attestations": {
    "presentations": [
      {
        "mapping": [
          {
            "outputClaim": "firstName",
            "required": true,
            "inputClaim": "$.vc.credentialSubject.firstName",
            "indexed": false
          },
          {
            "outputClaim": "lastName",
            "required": true,
            "inputClaim": "$.vc.credentialSubject.lastName",
            "indexed": false
          }
        ],
        "required": false,
        "credentialType": "TrueIdentity",
        "contracts": [
          "https://verifiedid.did.msidentity.com/v1.0/tenants/aaaabbbb-0000-cccc-1111-dddd2222eeee/verifiableCredentials/contracts/M2MzMmVkNDAtOGExMC00NjViLThiYTQtMGIxZTg2ODgyNjY4dHJ1ZSBpZGVudGl0eSBwcm9k/manifest"
        ]
      }
    ]
  },
  "validityInterval": 2592001,
  "vc": {
    "type": [
      "VerifiedCredentialExpert"
    ]
  }
}
Proprietà Type Descrzione
credentialType stringa Tipo di credenziale richiesto durante il rilascio. TrueIdentity nell'esempio precedente.
contracts string (matrice) elenco di URL manifesto delle credenziali richieste. Nell'esempio precedente, l'URL del manifesto è il manifesto per True Identity
trustedIssuers string (matrice) elenco di ID autorità emittenti consentite per le credenziali richieste. Nell'esempio precedente, l'operazione DID è l'operazione DID dell'autorità True Identityemittente.

Valori

Esperienza dell'autenticatore durante il rilascio

Durante il rilascio, Authenticator richiede all'utente di selezionare una credenziale corrispondente. Se l'utente dispone di più credenziali corrispondenti nel portafoglio, l'utente deve selezionare quello da presentare.

Screenshot of presentations claims input.

Configurare gli esempi per rilasciare le credenziali personalizzate

Per configurare il codice di esempio per eseguire il problema e verificare le credenziali personalizzate, è necessario:

  • Identificatore decentralizzato dell'autorità emittente del tenant (DID)
  • Tipo di credenziale
  • URL del manifesto per le credenziali

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. Sostituire i valori segnaposto con le informazioni dell'ambiente. Il did dell'autorità emittente è il valore dell'autorità.

Screenshot of the quickstart custom credential issue.

Passaggi successivi

Vedere le informazioni di riferimento sulle regole e sulla visualizzazione delle definizioni.