Problem Zweryfikowany identyfikator Microsoft Entra poświadczeń z aplikacji
W tym samouczku uruchomisz przykładową aplikację z komputera lokalnego, która łączy się z dzierżawą firmy Microsoft Entra. Korzystając z aplikacji, wydasz i zweryfikujesz zweryfikowaną kartę eksperta poświadczeń.
W tym artykule omówiono sposób wykonywania następujących zadań:
- Utwórz zweryfikowaną kartę eksperta poświadczeń na platformie Azure.
- Zbierz poświadczenia i szczegóły środowiska, aby skonfigurować przykładową aplikację.
- Pobierz przykładowy kod aplikacji na komputer lokalny.
- Zaktualizuj przykładową aplikację przy użyciu zweryfikowanego eksperta poświadczeń i szczegółów środowiska.
- Uruchom przykładową aplikację i wydaj pierwszą zweryfikowaną kartę eksperta poświadczeń.
- Sprawdź zweryfikowaną kartę eksperta poświadczeń.
Na poniższym diagramie przedstawiono architekturę Zweryfikowany identyfikator Microsoft Entra i skonfigurowany składnik.
Wymagania wstępne
- Skonfiguruj dzierżawę dla Zweryfikowany identyfikator Microsoft Entra.
- Aby sklonować repozytorium hostujące przykładową aplikację, zainstaluj narzędzie GIT.
- Visual Studio Code, Visual Studio lub podobny edytor kodu.
- .NET 7.0.
- Pobierz aplikację ngrok i zarejestruj się w celu uzyskania bezpłatnego konta. Jeśli nie możesz używać
ngrok
w organizacji, przeczytaj te często zadawane pytania. - Urządzenie przenośne z najnowszą wersją aplikacji Microsoft Authenticator.
Tworzenie karty zweryfikowanego eksperta poświadczeń na platformie Azure
Napiwek
Kroki opisane w tym artykule mogą się nieznacznie różnić w zależności od portalu, od którego zaczynasz.
W tym kroku utworzysz zweryfikowaną kartę eksperta poświadczeń przy użyciu Zweryfikowany identyfikator Microsoft Entra. Po utworzeniu poświadczeń dzierżawa firmy Microsoft Entra może wydać ją użytkownikom, którzy inicjują ten proces.
Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako administrator globalny.
Wybierz pozycję Weryfikowalne poświadczenia.
Po skonfigurowaniu dzierżawy powinien zostać wyświetlony przycisk Utwórz poświadczenie. Alternatywnie możesz wybrać pozycję Poświadczenia w menu po lewej stronie i wybrać pozycję + Dodaj poświadczenia.
W Utwórz poświadczenie, wybierz Poświadczenie niestandardowe i wybierz Dalej:
W polu Nazwa poświadczenia wprowadź wartość VerifiedCredentialExpert. Ta nazwa jest używana w portalu do identyfikowania poświadczeń weryfikowalnych. Jest on uwzględniony w ramach kontraktu weryfikowalnych poświadczeń.
Skopiuj następujący kod JSON i wklej go w polu tekstowym Definicja wyświetlana
{ "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" } ] }
Skopiuj następujący kod JSON i wklej go w polu tekstowym Definicja reguł
{ "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" ] } }
Wybierz pozycję Utwórz.
Poniższy zrzut ekranu przedstawia sposób tworzenia nowego poświadczenia:
Zbieranie poświadczeń i szczegółów środowiska
Teraz, gdy masz nowe poświadczenia, zbierzesz kilka informacji o środowisku i utworzonych poświadczeń. Te informacje są używane podczas konfigurowania przykładowej aplikacji.
W obszarze Weryfikowalne poświadczenia wybierz pozycję Wystawiaj poświadczenia.
Skopiuj urząd, który jest identyfikatorem zdecentralizowanym, i zapisz go na później.
Skopiuj adres URL manifestu. Jest to adres URL, który aplikacja Authenticator ocenia przed wyświetleniem go dla użytkownika weryfikowalnych wymagań wystawiania poświadczeń. Zarejestruj go do późniejszego użycia.
Skopiuj identyfikator dzierżawy i zapisz go później. Identyfikator dzierżawy jest identyfikatorem GUID w adresie URL manifestu wyróżnionym na czerwono powyżej.
Pobieranie przykładowego kodu
Przykładowa aplikacja jest dostępna na platformie .NET, a kod jest przechowywany w repozytorium GitHub. Pobierz przykładowy kod z usługi GitHub lub sklonuj repozytorium na komputer lokalny:
git clone https://github.com/Azure-Samples/active-directory-verifiable-credentials-dotnet.git
Konfigurowanie aplikacji weryfikowalnych poświadczeń
Utwórz wpis tajny klienta dla utworzonej zarejestrowanej aplikacji. Przykładowa aplikacja używa klucza tajnego klienta, aby udowodnić swoją tożsamość, gdy żąda tokenów.
Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako administrator globalny.
Wybierz Microsoft Entra ID.
Przejdź do strony Aplikacje> Rejestracje aplikacji.
Wybierz utworzoną wcześniej aplikację weryfikowalny-credentials-app .
Wybierz nazwę, aby przejść do szczegółów rejestracji.
Skopiuj identyfikator aplikacji (klienta) i zapisz go na później.
Z menu głównego w obszarze Zarządzaj wybierz pozycję Certyfikaty i wpisy tajne.
Wybierz pozycję Nowy klucz tajny klienta i wykonaj następujące czynności:
W polu Opis wprowadź opis wpisu tajnego klienta (na przykład vc-sample-secret).
W obszarze Wygasa wybierz czas trwania, dla którego wpis tajny jest ważny (na przykład sześć miesięcy). Następnie wybierz pozycję Dodaj.
Zarejestruj wartość wpisu tajnego. Użyjesz tej wartości do konfiguracji w późniejszym kroku. Wartość wpisu tajnego nie zostanie ponownie wyświetlona i nie będzie pobierana w żaden inny sposób. Zarejestruj go tak szybko, jak jest widoczny.
W tym momencie należy mieć wszystkie wymagane informacje potrzebne do skonfigurowania przykładowej aplikacji.
Aktualizowanie przykładowej aplikacji
Teraz wprowadzasz modyfikacje kodu wystawcy przykładowej aplikacji, aby zaktualizować go przy użyciu weryfikowalnego adresu URL poświadczeń. Ten krok umożliwia wystawianie poświadczeń weryfikowalnych przy użyciu własnej dzierżawy.
W folderze active-directory-verifiable-credentials-dotnet-main otwórz program Visual Studio Code i wybierz projekt w folderze 1-asp-core-api-idtokenhint .
W folderze głównym projektu otwórz plik appsettings.json . Ten plik zawiera informacje o środowisku Zweryfikowany identyfikator Microsoft Entra. Zaktualizuj następujące właściwości przy użyciu informacji zarejestrowanych we wcześniejszych krokach:
- Identyfikator dzierżawy: identyfikator dzierżawy
- Identyfikator klienta: identyfikator klienta
- Klucz tajny klienta: klucz tajny klienta
- DidAuthority: Identyfikator zdecentralizowany
- Manifest poświadczeń: adres URL manifestu
Typ credentialType jest wymagany tylko do prezentacji, więc jeśli wszystko, co chcesz zrobić, to wystawianie, nie jest konieczne.
Zapisz plik appsettings.json.
Poniższy kod JSON przedstawia kompletny plik appsettings.json :
{
"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"
}
}
Wydaj pierwszą zweryfikowaną kartę eksperta poświadczeń
Teraz możesz wydać pierwszą zweryfikowaną kartę eksperta poświadczeń, uruchamiając przykładową aplikację.
W programie Visual Studio Code uruchom projekt Verifiable_credentials_DotNet . Możesz też uruchomić polecenie w wierszu polecenia systemu operacyjnego:
cd active-directory-verifiable-credentials-dotnet\1-asp-net-core-api-idtokenhint dotnet build "AspNetCoreVerifiableCredentials.csproj" -c Debug -o .\bin\Debug\net6. dotnet run
W innym oknie wiersza polecenia uruchom następujące polecenie. To polecenie uruchamia narzędzie ngrok , aby skonfigurować adres URL na 5000 i udostępnić go publicznie w Internecie.
ngrok http 5000
Uwaga
Na niektórych komputerach może być konieczne uruchomienie polecenia w tym formacie:
./ngrok http 5000
.Otwórz adres URL HTTPS wygenerowany przez narzędzie ngrok.
W przeglądarce internetowej wybierz pozycję Pobierz poświadczenia.
Korzystając z urządzenia przenośnego, przeskanuj kod QR za pomocą aplikacji Authenticator. Aby uzyskać więcej informacji na temat skanowania kodu QR, zobacz sekcję FAQ (Często zadawane pytania).
W tej chwili zostanie wyświetlone ostrzeżenie o tym, że ta aplikacja lub witryna internetowa może być ryzykowna. Wybierz opcję Zaawansowane.
Na ryzykowne ostrzeżenie witryny internetowej wybierz pozycję Kontynuuj mimo to (niebezpieczne). Widzisz to ostrzeżenie, ponieważ domena nie jest połączona z identyfikatorem zdecentralizowanym (DID). Aby zweryfikować domenę, postępuj zgodnie z instrukcjami Link your domain to your decentralized identifier (DID) (Połącz domenę z identyfikatorem zdecentralizowanym ). Na potrzeby tego samouczka możesz pominąć rejestrację domeny, a następnie wybrać pozycję Kontynuuj mimo to (niebezpieczne).
Zostanie wyświetlony monit o wprowadzenie kodu PIN wyświetlanego na ekranie, na którym zeskanowano kod QR. Numer PIN dodaje dodatkową warstwę ochrony do wystawiania. Kod PIN jest generowany losowo za każdym razem, gdy jest wyświetlany kod QR wystawiania.
Po wprowadzeniu numeru PIN zostanie wyświetlony ekran Dodawanie poświadczeń . W górnej części ekranu zostanie wyświetlony komunikat Nie zweryfikowany (na czerwono). To ostrzeżenie jest związane z ostrzeżeniem weryfikacji domeny wymienionym wcześniej.
Wybierz pozycję Dodaj , aby zaakceptować nowe poświadczenia weryfikowalne.
Gratulacje! Masz teraz zweryfikowane poświadczenia eksperta w zakresie weryfikowania poświadczeń.
Wróć do przykładowej aplikacji. Pokazuje on, że poświadczenie zostało pomyślnie wystawione.
Weryfikowalne nazwy poświadczeń
Twoje weryfikowalne poświadczenie zawiera Megan Bowen dla wartości imienia i nazwiska w poświadczeniu. Te wartości zostały zakodowane na stałe w przykładowej aplikacji i zostały dodane do weryfikowalnego poświadczenia w czasie wystawiania w ładunku.
W rzeczywistych scenariuszach aplikacja pobiera szczegóły użytkownika z dostawcy tożsamości. Poniższy fragment kodu pokazuje, gdzie nazwa jest ustawiona w przykładowej aplikacji.
//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";
...
}
Następne kroki
W następnym kroku dowiesz się, jak aplikacja innej firmy, znana również jako aplikacja jednostki uzależnionej, może zweryfikować swoje poświadczenia za pomocą własnej usługi interfejsu API weryfikowania poświadczeń firmy Microsoft Entra.