Creare credenziali verificabili per i token ID
Una definizione di regole che usa l'attestazione idTokens produce un flusso di rilascio in cui è necessario eseguire un accesso interattivo a un provider di identità OpenID Connect (OIDC) in Microsoft Authenticator. Le informazioni nel token di identità restituite dal provider di identità possono essere utilizzate per completare le credenziali verificabili emesse. La sezione di mappatura delle attestazioni nella definizione delle regole specifica le attestazioni utilizzate.
Creare credenziali personalizzate con il tipo di attestazione idTokens
Nel portale di Azure, quando si seleziona Aggiungi credenziale, si ha l'opzione di avviare due procedure rapide. 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 è 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 di dati, quindi, se si vogliono supportare più localizzazioni, aggiungere più voci con una virgola come separatore.
{
"locale": "en-US",
"card": {
"title": "Verified Credential Expert",
"issuedBy": "Microsoft",
"backgroundColor": "#000000",
"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.userName",
"label": "User name",
"type": "String"
},
{
"claim": "vc.credentialSubject.displayName",
"label": "Display 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 di attestazione JSON deve contenere il nome idTokens, i dettagli di configurazione OIDC (clientId, configurazione, redirectUri e ambito) e la sezione di mappatura delle attestazioni. Il codice JSON previsto per le definizioni delle regole è il contenuto interno dell'attributo rules, che inizia con l'attributo di attestazione.
Per il mapping delle attestazioni nell'esempio seguente è necessario configurare il token come illustrato nella sezione Claims nel token ID del provider di identità.
{
"attestations": {
"idTokens": [
{
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
"redirectUri": "vcclient://openid/",
"scope": "openid profile email",
"mapping": [
{
"outputClaim": "userName",
"required": true,
"inputClaim": "$.upn",
"indexed": true
},
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "$.name",
"indexed": false
},
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Registrazione dell'applicazione
L'attributo clientId è l'ID applicazione di un'applicazione registrata nel provider di identità OIDC. Per Microsoft Entra ID, si crea l'applicazione seguendo questa procedura:
Nel portale di Azure passare a Microsoft Entra ID.
Selezionare Registrazioni app, selezionare Nuova registrazione e assegnare all'app un nome.
Se desideri che siano in grado di accedere solo gli account appartenenti al tenant, mantieni selezionata la casella di controllo Account in questa directory solamente.
In URI di reindirizzamento (facoltativo) selezionare Client pubblico/nativo (mobile e desktop) e quindi immettere vcclient://openid/.
Per controllare le attestazioni incluse nel token ID di Microsoft Entra, seguire questa procedura:
Nel riquadro sinistro selezionare Autenticazione>Aggiungi piattaforma>Web.
Per URI di reindirizzamento immettere https://jwt.mse quindi selezionare Token ID (usati per i flussi impliciti e ibridi).
Seleziona Configura.
Dopo aver completato il test del token ID, considerare di rimuovere https://jwt.ms e il supporto per flussi impliciti e ibridi .
For Microsoft Entra ID: è possibile testare la registrazione dell'app e, se si abilita il supporto per il reindirizzamento a https://jwt.ms, è possibile ottenere un token ID eseguendo quanto segue nel browser:
https://login.microsoftonline.com/<your-tenantId>/oauth2/v2.0/authorize?client_id=<your-appId>&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid%20profile&response_type=id_token&prompt=login
Nel codice sostituire <your-tenantId> con l'ID tenant. Per ottenere le attestazioni aggiuntive, è necessario avere profile come parte dell'scope.
Per Azure Active Directory B2C: il processo di registrazione dell'app è lo stesso, ma B2C include il supporto predefinito nel portale di Azure per testare i criteri B2C tramite la funzionalità Esegui flusso utente.
Affermazioni nel token ID del provider di identità
Le asserzioni devono esistere nel fornitore di identità restituito affinché possano popolare correttamente le tue credenziali verificabili.
Se le attestazioni non esistono, non esiste alcun valore nelle credenziali verificabili rilasciate. La maggior parte dei provider di identità OIDC non rilascia una dichiarazione in un token ID se la dichiarazione ha un valore null nel profilo. Assicurati di includere il claim nella definizione del token ID e inserisci un valore per il claim nel tuo profilo utente.
Per Microsoft Entra ID: per configurare le attestazioni da includere nel token, vedere Fornire attestazioni facoltative all'app. La configurazione è per applicazione, quindi questa configurazione deve essere per l'app con l'ID applicazione specificato nell'ID client nella definizione delle regole.
Per corrispondere alle definizioni di visualizzazione e alle regole, dovresti far apparire il JSON optionalClaims della tua applicazione come nell'esempio seguente:
"optionalClaims": {
"idToken": [
{
"name": "upn",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "family_name",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "given_name",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "preferred_username",
"source": null,
"essential": false,
"additionalProperties": []
}
],
"accessToken": [],
"saml2Token": []
},
Per Azure Active Directory B2C: la configurazione di altre attestazioni nel token ID dipende dal fatto che il criterio B2C sia un flusso utente o un criterio personalizzato. Per informazioni sui flussi utente, vedere Configurare un flusso di iscrizione e accesso in Azure Active Directory B2C. Per informazioni sui criteri personalizzati, vedere Fornire attestazioni facoltative all'app.
Per altri provider di identità, consultare la documentazione pertinente.
Configurare i campioni per emettere e verificare le tue credenziali personalizzate
Per configurare il codice di esempio per emettere e verificare le credenziali personalizzate, è necessario:
- Identificatore decentralizzato dell'emittente del tuo tenant (DID)
- Tipo di credenziale
- URL del manifest per la tua 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'emittente è il valore di autorità.
Passaggi successivi
Consulta il riferimento sulle regole e sulle definizioni di visualizzazione.