Utfärda Microsoft Entra – verifierat ID autentiseringsuppgifter från ett program
I den här självstudien kör du ett exempelprogram från din lokala dator som ansluter till din Microsoft Entra-klientorganisation. Med hjälp av programmet ska du utfärda och verifiera ett verifierat expertkort för autentiseringsuppgifter.
I den här artikeln kan du se hur du:
- Skapa expertkortet för verifierade autentiseringsuppgifter i Azure.
- Samla in autentiseringsuppgifter och miljöinformation för att konfigurera exempelprogrammet.
- Ladda ned exempelprogramkoden till den lokala datorn.
- Uppdatera exempelprogrammet med ditt verifierade expertkort för autentiseringsuppgifter och miljöinformation.
- Kör exempelprogrammet och utfärda ditt första verifierade expertkort för autentiseringsuppgifter.
- Verifiera ditt verifierade expertkort för autentiseringsuppgifter.
Följande diagram illustrerar Microsoft Entra – verifierat ID arkitekturen och komponenten som du konfigurerar.
Förutsättningar
- Konfigurera en klientorganisation för Microsoft Entra – verifierat ID.
- Om du vill klona lagringsplatsen som är värd för exempelappen installerar du GIT.
- Visual Studio Code, Visual Studio eller liknande kodredigerare.
- .NET 7.0.
- Ladda ned ngrok och registrera dig för ett kostnadsfritt konto. Om du inte kan använda
ngrok
i din organisation kan du läsa dessa vanliga frågor och svar. - En mobil enhet med den senaste versionen av Microsoft Authenticator.
Skapa expertkortet för verifierade autentiseringsuppgifter i Azure
Dricks
Stegen i den här artikeln kan variera något beroende på vilken portal du börjar från.
I det här steget skapar du expertkortet för verifierade autentiseringsuppgifter med hjälp av Microsoft Entra – verifierat ID. När du har skapat autentiseringsuppgifterna kan din Microsoft Entra-klientorganisation utfärda den till användare som initierar processen.
Logga in på administrationscentret för Microsoft Entra som global administratör.
Välj Verifierbara autentiseringsuppgifter.
När du har konfigurerat klientorganisationen bör skapa autentiseringsuppgifter visas. Du kan också välja Autentiseringsuppgifter på den vänstra menyn och välja + Lägg till en autentiseringsuppgift.
I Skapa autentiseringsuppgifter väljer du Anpassad autentiseringsuppgift och klickar på Nästa:
Som Namn på autentiseringsuppgifter anger du VerifiedCredentialExpert. Det här namnet används i portalen för att identifiera dina verifierbara autentiseringsuppgifter. Den ingår som en del av det verifierbara autentiseringsuppgifterna.
Kopiera följande JSON och klistra in den i textrutan Visa definition
{ "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.firstName", "label": "First name", "type": "String" }, { "claim": "vc.credentialSubject.lastName", "label": "Last name", "type": "String" } ] }
Kopiera följande JSON och klistra in den i textrutan Regeldefinition
{ "attestations": { "idTokenHints": [ { "mapping": [ { "outputClaim": "firstName", "required": true, "inputClaim": "$.given_name", "indexed": false }, { "outputClaim": "lastName", "required": true, "inputClaim": "$.family_name", "indexed": true } ], "required": false } ] }, "validityInterval": 2592000, "vc": { "type": [ "VerifiedCredentialExpert" ] } }
Välj Skapa.
Följande skärmbild visar hur du skapar en ny autentiseringsuppgift:
Samla in autentiseringsuppgifter och miljöinformation
Nu när du har en ny autentiseringsuppgift samlar du in lite information om din miljö och de autentiseringsuppgifter som du skapade. Du använder den här informationen när du konfigurerar exempelprogrammet.
I Verifierbara autentiseringsuppgifter väljer du Problemautentiseringsuppgifter.
Kopiera utfärdaren, som är den decentraliserade identifieraren, och registrera den för senare.
Kopiera manifest-URL:en. Det är den URL som Authenticator utvärderar innan den visas för användarens verifierbara krav på utfärdande av autentiseringsuppgifter. Registrera den för senare användning.
Kopiera ditt klientorganisations-ID och registrera det för senare. Klientorganisations-ID:t är guid i manifest-URL:en markerad i rött ovan.
Ladda ned exempelkoden
Exempelprogrammet är tillgängligt i .NET och koden underhålls på en GitHub-lagringsplats. Ladda ned exempelkoden från GitHub eller klona lagringsplatsen till din lokala dator:
git clone https://github.com/Azure-Samples/active-directory-verifiable-credentials-dotnet.git
Konfigurera appen för verifierbara autentiseringsuppgifter
Skapa en klienthemlighet för det registrerade programmet som du skapade. Exempelprogrammet använder klienthemligheten för att bevisa sin identitet när den begär token.
Logga in på administrationscentret för Microsoft Entra som global administratör.
Välj Microsoft Entra ID.
Gå till sidan Program> Appregistreringar.
Välj programmet verifiable-credentials-app som du skapade tidigare.
Välj namnet för att gå in på registreringsinformationen.
Kopiera program-ID:t (klient) och lagra det för senare.
På huvudmenyn går du till Hantera och väljer Certifikat och hemligheter.
Välj Ny klienthemlighet och gör följande:
I Beskrivning anger du en beskrivning av klienthemligheten (till exempel vc-sample-secret).
Under Upphör att gälla väljer du en varaktighet för vilken hemligheten är giltig (till exempel sex månader). Välj Lägg till.
Registrera hemlighetens värde. Du använder det här värdet för konfiguration i ett senare steg. Hemlighetens värde visas inte igen och kan inte hämtas på något annat sätt. Spela in den så snart den är synlig.
Nu bör du ha all nödvändig information som du behöver för att konfigurera exempelprogrammet.
Uppdatera exempelprogrammet
Nu ska du göra ändringar i exempelappens utfärdarkod för att uppdatera den med din verifierbara URL för autentiseringsuppgifter. Med det här steget kan du utfärda verifierbara autentiseringsuppgifter med hjälp av din egen klientorganisation.
Under mappen active-directory-verifiable-credentials-dotnet-main öppnar du Visual Studio Code och väljer projektet i mappen 1-asp-net-core-api-idtokenhint.
Öppna filen appsettings.json under projektrotmappen. Den här filen innehåller information om din Microsoft Entra – verifierat ID miljö. Uppdatera följande egenskaper med den information som du registrerade i tidigare steg:
- Klientorganisations-ID: ditt klient-ID
- Klient-ID: ditt klient-ID
- Klienthemlighet: din klienthemlighet
- DidAuthority: Din decentraliserade identifierare
- Manifest för autentiseringsuppgifter: Din manifest-URL
CredentialType behövs bara för presentation, så om allt du vill göra är att utfärda behövs det inte.
Spara filen appsettings.json .
Följande JSON visar en fullständig appsettings.json fil:
{
"VerifiedID": {
"Endpoint": "https://verifiedid.did.msidentity.com/v1.0/verifiableCredentials/",
"VCServiceScope": "3db474b9-6a0c-4840-96ac-1fceb342124f/.default",
"Instance": "https://login.microsoftonline.com/",
"TenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"ClientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"ClientSecret": "123456789012345678901234567890",
"CertificateName": "[Or instead of client secret: Enter here the name of a certificate (from the user cert store) as registered with your application]",
"DidAuthority": "did:web:...your-decentralized-identifier...",
"CredentialType": "VerifiedCredentialExpert",
"CredentialManifest": "https://verifiedid.did.msidentity.com/v1.0/00001111-aaaa-2222-bbbb-3333cccc4444/verifiableCredentials/contracts/VerifiedCredentialExpert"
}
}
Utfärda ditt första expertkort för verifierade autentiseringsuppgifter
Nu är du redo att utfärda ditt första verifierade expertkort för autentiseringsuppgifter genom att köra exempelprogrammet.
Kör projektet Verifiable_credentials_DotNet från Visual Studio Code. Eller så kör du följande från operativsystemets kommandorad:
cd active-directory-verifiable-credentials-dotnet\1-asp-net-core-api-idtokenhint dotnet build "AspNetCoreVerifiableCredentials.csproj" -c Debug -o .\bin\Debug\net6. dotnet run
Kör följande kommando i ett annat kommandotolkfönster. Det här kommandot kör ngrok för att konfigurera en URL på 5000 och göra den offentligt tillgänglig på Internet.
ngrok http 5000
Kommentar
På vissa datorer kan du behöva köra kommandot i det här formatet:
./ngrok http 5000
.Öppna HTTPS-URL:en som genererats av ngrok.
I en webbläsare väljer du Hämta autentiseringsuppgifter.
Använd din mobila enhet och skanna QR-koden med Authenticator-appen. Mer information om hur du skannar QR-koden finns i avsnittet Vanliga frågor och svar.
Just nu visas ett meddelande om att den här appen eller webbplatsen kan vara riskabel. Visa avancerad.
På den riskfyllda webbplatsvarningen väljer du Fortsätt ändå (osäker). Den här varningen visas eftersom domänen inte är länkad till din decentraliserade identifierare (DID). Om du vill verifiera din domän följer du Länka domänen till din decentraliserade identifierare (DID). I den här självstudien kan du hoppa över domänregistreringen och välja Fortsätt ändå (osäker).
Du uppmanas att ange en PIN-kod som visas på skärmen där du skannade QR-koden. PIN-koden lägger till ett extra skyddslager för utfärdandet. PIN-koden genereras slumpmässigt varje gång en utfärdande QR-kod visas.
När du har angett PIN-koden visas skärmen Lägg till autentiseringsuppgifter . Överst på skärmen visas ett Inte verifierat meddelande (i rött). Den här varningen gäller den domänverifieringsvarning som nämndes tidigare.
Välj Lägg till för att acceptera dina nya verifierbara autentiseringsuppgifter.
Grattis! Nu har du en verifierad autentiseringsexpert som kan verifieras.
Gå tillbaka till exempelappen. Den visar att en autentiseringsuppgift har utfärdats.
Verifierbara namn på autentiseringsuppgifter
Dina verifierbara autentiseringsuppgifter innehåller Megan Bowen för förnamns- och efternamnsvärdena i autentiseringsuppgifterna. Dessa värden hårdkodades i exempelprogrammet och lades till i verifierbara autentiseringsuppgifter vid tidpunkten för utfärdandet i nyttolasten.
I verkliga scenarier hämtar programmet användarinformationen från en identitetsprovider. Följande kodfragment visar var namnet anges i exempelprogrammet.
//file: IssuerController.cs
[HttpGet("/api/issuer/issuance-request")]
public async Task<ActionResult> issuanceRequest()
{
...
// Here you could change the payload manifest and change the first name and last name.
payload["claims"]["given_name"] = "Megan";
payload["claims"]["family_name"] = "Bowen";
...
}
Nästa steg
I nästa steg får du lära dig hur ett program från tredje part, även kallat ett förlitande program, kan verifiera dina autentiseringsuppgifter med sin egen API-tjänst för verifierbara autentiseringsuppgifter för Microsoft Entra-klientorganisationen.