Probleem Microsoft Entra geverifieerde ID referenties van een toepassing
In deze zelfstudie voert u een voorbeeldtoepassing uit vanaf uw lokale computer die verbinding maakt met uw Microsoft Entra-tenant. Met behulp van de toepassing gaat u een geverifieerde referentie-expertkaart uitgeven en verifiëren.
In dit artikel leert u het volgende:
- Maak de geverifieerde referentie-expertkaart in Azure.
- Verzamel referenties en omgevingsgegevens om de voorbeeldtoepassing in te stellen.
- Download de voorbeeldtoepassingscode naar uw lokale computer.
- Werk de voorbeeldtoepassing bij met de gegevens van uw geverifieerde referentie-expertkaart en omgeving.
- Voer de voorbeeldtoepassing uit en geef uw eerste geverifieerde referentie-expertkaart uit.
- Controleer uw geverifieerde referentie-expertkaart.
In het volgende diagram ziet u de Microsoft Entra geverifieerde ID-architectuur en het onderdeel dat u configureert.
Vereisten
- Stel een tenant in voor Microsoft Entra geverifieerde ID.
- Installeer GIT om de opslagplaats te klonen die als host fungeert voor de voorbeeld-app.
- Visual Studio Code, Visual Studio of vergelijkbare code-editor.
- .NET 7.0.
- Download ngrok en meld u aan voor een gratis account. Lees deze veelgestelde vragen als u deze veelgestelde vragen niet kunt gebruiken
ngrok
in uw organisatie. - Een mobiel apparaat met de nieuwste versie van Microsoft Authenticator.
De geverifieerde referentie-expertkaart maken in Azure
Tip
Stappen in dit artikel kunnen enigszins variëren op basis van de portal waaruit u begint.
In deze stap maakt u de geverifieerde referentie-expertkaart met behulp van Microsoft Entra geverifieerde ID. Nadat u de referentie hebt gemaakt, kan uw Microsoft Entra-tenant deze uitgeven aan gebruikers die het proces initiëren.
Meld u als globale beheerder aan bij het Microsoft Entra-beheercentrum.
Selecteer Verifieerbare referenties.
Nadat u uw tenant hebt ingesteld, wordt de referentie maken weergegeven. U kunt ook Referenties selecteren in het linkermenu en + Een referentie toevoegen selecteren.
Selecteer in Referentie maken de optie Aangepaste referentie en klik op Volgende:
Voer Voor de naam van de referentie geverifieerdeCredentialExpert in. Deze naam wordt gebruikt in de portal om uw verifieerbare referenties te identificeren. Deze wordt opgenomen als onderdeel van het verifieerbare referentiecontract.
Kopieer de volgende JSON en plak deze in het tekstvak weergavedefinitie
{ "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" } ] }
Kopieer de volgende JSON en plak deze in het tekstvak Regelsdefinitie
{ "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" ] } }
Selecteer Maken.
In de volgende schermopname ziet u hoe u een nieuwe referentie maakt:
Referenties en omgevingsgegevens verzamelen
Nu u een nieuwe referentie hebt, gaat u informatie verzamelen over uw omgeving en de referenties die u hebt gemaakt. U gebruikt deze stukjes informatie bij het instellen van uw voorbeeldtoepassing.
Selecteer in Verifieerbare referenties de optie Referentie probleem.
Kopieer de instantie, de gedecentraliseerde id, en noteer deze voor later gebruik.
Kopieer de manifest-URL . Dit is de URL die Authenticator evalueert voordat deze wordt weergegeven aan de vereisten voor verificatie van referenties door de gebruiker. Noteer deze voor later gebruik.
Kopieer uw tenant-id en noteer deze voor later gebruik. De tenant-id is de guid in de manifest-URL die hierboven is gemarkeerd in rood.
De voorbeeldcode downloaden
De voorbeeldtoepassing is beschikbaar in .NET en de code wordt onderhouden in een GitHub-opslagplaats. Download de voorbeeldcode van GitHub of kloon de opslagplaats naar uw lokale computer:
git clone https://github.com/Azure-Samples/active-directory-verifiable-credentials-dotnet.git
De verifieerbare referenties-app configureren
Maak een clientgeheim voor de geregistreerde toepassing die u hebt gemaakt. De voorbeeldtoepassing gebruikt het clientgeheim om de identiteit te bewijzen wanneer tokens worden aangevraagd.
Meld u als globale beheerder aan bij het Microsoft Entra-beheercentrum.
Selecteer Microsoft Entra ID.
Ga naar de pagina Toepassingen> App-registraties.
Selecteer de verifiable-credentials-app-toepassing die u eerder hebt gemaakt.
Selecteer de naam om naar de registratiegegevens te gaan.
Kopieer de toepassings-id (client) en sla deze op voor later gebruik.
Selecteer certificaten en geheimen in het hoofdmenu onder Beheren.
Selecteer Nieuw clientgeheim en ga als volgt te werk:
Voer in Beschrijving een beschrijving in voor het clientgeheim (bijvoorbeeld vc-sample-secret).
Selecteer onder Verlopen een duur waarvoor het geheim geldig is (bijvoorbeeld zes maanden). Selecteer vervolgens Toevoegen.
Noteer de Waarde van het geheim. U gebruikt deze waarde voor configuratie in een latere stap. De waarde van het geheim wordt niet opnieuw weergegeven en kan op geen enkele andere manier worden opgehaald. Noteer deze zodra deze zichtbaar is.
Op dit moment moet u alle vereiste informatie hebben die u nodig hebt om uw voorbeeldtoepassing in te stellen.
De voorbeeldtoepassing bijwerken
Nu gaat u wijzigingen aanbrengen in de code van de uitgever van de voorbeeld-app om deze bij te werken met uw verifieerbare referentie-URL. Met deze stap kunt u verifieerbare referenties uitgeven met behulp van uw eigen tenant.
Open Visual Studio Code onder de map active-directory-verifiable-credentials-dotnet-main en selecteer het project in de map 1-asp-net-core-api-idtokenhint .
Open het bestand appsettings.json in de hoofdmap van het project. Dit bestand bevat informatie over uw Microsoft Entra geverifieerde ID-omgeving. Werk de volgende eigenschappen bij met de informatie die u in eerdere stappen hebt vastgelegd:
- Tenant-id: uw tenant-id
- Client-id: uw client-id
- Clientgeheim: uw clientgeheim
- DidAuthority: uw gedecentraliseerde id
- Referentiemanifest: uw manifest-URL
CredentialType is alleen nodig voor presentatie, dus als u alleen maar uitgifte wilt doen, is het strikt niet nodig.
Sla het appsettings.json-bestand op.
In de volgende JSON ziet u een volledig appsettings.json-bestand :
{
"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"
}
}
Geef uw eerste geverifieerde referentieexpertkaart
Nu bent u klaar om uw eerste geverifieerde referentie-expertkaart uit te geven door de voorbeeldtoepassing uit te voeren.
Voer vanuit Visual Studio Code het Verifiable_credentials_DotNet-project uit. Of voer vanaf de opdrachtregel van uw besturingssysteem het volgende uit:
cd active-directory-verifiable-credentials-dotnet\1-asp-net-core-api-idtokenhint dotnet build "AspNetCoreVerifiableCredentials.csproj" -c Debug -o .\bin\Debug\net6. dotnet run
Voer in een ander opdrachtpromptvenster de volgende opdracht uit. Met deze opdracht wordt ngrok uitgevoerd om een URL in te stellen op 5000 en openbaar beschikbaar te maken op internet.
ngrok http 5000
Notitie
Op sommige computers moet u mogelijk de opdracht in deze indeling uitvoeren:
./ngrok http 5000
.Open de HTTPS-URL die is gegenereerd door ngrok.
Selecteer Referentie ophalen in een webbrowser.
Scan met uw mobiele apparaat de QR-code met de Authenticator-app. Zie de sectie Veelgestelde vragen voor meer informatie over het scannen van de QR-code.
Op dit moment ziet u een berichtwaarschuwing dat deze app of website riskant kan zijn. Selecteer Geavanceerd.
Selecteer Toch doorgaan (onveilig) bij de waarschuwing van de riskante website. U ziet deze waarschuwing omdat uw domein niet is gekoppeld aan uw gedecentraliseerde id (DID). Volg Uw domein koppelen aan uw gedecentraliseerde id (DID) om uw domein te verifiëren. Voor deze zelfstudie kunt u de domeinregistratie overslaan en toch Doorgaan selecteren (onveilig).
U wordt gevraagd een pincode in te voeren die wordt weergegeven in het scherm waarin u de QR-code hebt gescand. De pincode voegt een extra beveiligingslaag toe aan de uitgifte. De pincode wordt willekeurig gegenereerd telkens wanneer een QR-code voor uitgifte wordt weergegeven.
Nadat u het pincodenummer hebt ingevoerd, wordt het scherm Een referentie toevoegen weergegeven. Boven aan het scherm ziet u een niet-geverifieerd bericht (rood). Deze waarschuwing is gerelateerd aan de eerder genoemde waarschuwing voor domeinvalidatie.
Selecteer Toevoegen om uw nieuwe verifieerbare referentie te accepteren.
Gefeliciteerd U hebt nu een geverifieerde referentie-expert die kan worden geverifieerd.
Ga terug naar de voorbeeld-app. U ziet dat een referentie is uitgegeven.
Controleerbare referentienamen
Uw verifieerbare referentie bevat Megan Bowen voor de voor- en achternaamwaarden in de referentie. Deze waarden zijn vastgelegd in de voorbeeldtoepassing en zijn toegevoegd aan de verifieerbare referentie op het moment van uitgifte in de nettolading.
In echte scenario's haalt uw toepassing de gebruikersgegevens van een id-provider op. In het volgende codefragment ziet u waar de naam is ingesteld in de voorbeeldtoepassing.
//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";
...
}
Volgende stappen
In de volgende stap leert u hoe een toepassing van derden, ook wel een relying party-toepassing genoemd, uw referenties kan verifiëren met een eigen Microsoft Entra-tenant controleerbare referenties-API-service.