Udostępnij za pośrednictwem


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.

Diagram ilustrujący architekturę Zweryfikowany identyfikator Microsoft Entra.

Wymagania wstępne

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.

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako administrator globalny.

  2. Wybierz pozycję Weryfikowalne poświadczenia.

  3. 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.

  4. W Utwórz poświadczenie, wybierz Poświadczenie niestandardowe i wybierz Dalej:

    1. 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ń.

    2. 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"
            }
          ]
      }
      
    3. 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"
          ]
        }
      }
      
    4. Wybierz pozycję Utwórz.

Poniższy zrzut ekranu przedstawia sposób tworzenia nowego poświadczenia:

Zrzut ekranu przedstawiający 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.

  1. W obszarze Weryfikowalne poświadczenia wybierz pozycję Wystawiaj poświadczenia.

    Zrzut ekranu przedstawiający sposób wybierania nowo utworzonego zweryfikowanego poświadczenia.

  2. Skopiuj urząd, który jest identyfikatorem zdecentralizowanym, i zapisz go na później.

  3. 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.

  4. 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.

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra jako administrator globalny.

  2. Wybierz Microsoft Entra ID.

  3. Przejdź do strony Aplikacje> Rejestracje aplikacji.

  4. Wybierz utworzoną wcześniej aplikację weryfikowalny-credentials-app .

  5. Wybierz nazwę, aby przejść do szczegółów rejestracji.

  6. Skopiuj identyfikator aplikacji (klienta) i zapisz go na później.

    Zrzut ekranu przedstawiający sposób kopiowania identyfikatora rejestracji aplikacji.

  7. Z menu głównego w obszarze Zarządzaj wybierz pozycję Certyfikaty i wpisy tajne.

  8. Wybierz pozycję Nowy klucz tajny klienta i wykonaj następujące czynności:

    1. W polu Opis wprowadź opis wpisu tajnego klienta (na przykład vc-sample-secret).

    2. 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.

    3. 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.

  1. W folderze active-directory-verifiable-credentials-dotnet-main otwórz program Visual Studio Code i wybierz projekt w folderze 1-asp-core-api-idtokenhint .

  2. 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:

    1. Identyfikator dzierżawy: identyfikator dzierżawy
    2. Identyfikator klienta: identyfikator klienta
    3. Klucz tajny klienta: klucz tajny klienta
    4. DidAuthority: Identyfikator zdecentralizowany
    5. 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.

  3. 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ę.

  1. 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
    
  2. 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.

  3. Otwórz adres URL HTTPS wygenerowany przez narzędzie ngrok.

    Zrzut ekranu przedstawiający sposób uzyskiwania publicznego adresu URL serwera ngrok.

  4. W przeglądarce internetowej wybierz pozycję Pobierz poświadczenia.

    Zrzut ekranu przedstawiający sposób wybierania poświadczeń z przykładowej aplikacji.

  5. 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).

    Zrzut ekranu przedstawiający sposób skanowania kodu QR.

  6. W tej chwili zostanie wyświetlone ostrzeżenie o tym, że ta aplikacja lub witryna internetowa może być ryzykowna. Wybierz opcję Zaawansowane.

    Zrzut ekranu przedstawiający sposób reagowania na komunikat ostrzegawczy.

  7. 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).

    Zrzut ekranu przedstawiający sposób kontynuowania ryzykownych ostrzeżeń.

  8. 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.

    Zrzut ekranu przedstawiający sposób wpisywania kodu PIN.

  9. 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.

  10. Wybierz pozycję Dodaj , aby zaakceptować nowe poświadczenia weryfikowalne.

    Zrzut ekranu przedstawiający sposób dodawania nowego poświadczenia.

Gratulacje! Masz teraz zweryfikowane poświadczenia eksperta w zakresie weryfikowania poświadczeń.

Zrzut ekranu przedstawiający nowo dodane poświadczenia weryfikowalne.

Wróć do przykładowej aplikacji. Pokazuje on, że poświadczenie zostało pomyślnie wystawione.

Zrzut ekranu przedstawiający pomyślnie wystawione poświadczenia weryfikowalne.

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.