Problém s Ověřené ID Microsoft Entra přihlašovacími údaji z aplikace

V tomto kurzu spustíte ukázkovou aplikaci z místního počítače, který se připojí k vašemu tenantovi Microsoft Entra. Pomocí aplikace vydáte a ověříte ověřenou kartu odborníka na přihlašovací údaje.

V tomto článku získáte informace o těchto tématech:

  • Vytvořte ověřenou kartu odborníka na přihlašovací údaje v Azure.
  • Shromážděte přihlašovací údaje a podrobnosti o prostředí pro nastavení ukázkové aplikace.
  • Stáhněte si vzorový kód aplikace do místního počítače.
  • Aktualizujte ukázkovou aplikaci pomocí ověřené karty expertů na přihlašovací údaje a podrobností o prostředí.
  • Spusťte ukázkovou aplikaci a zadejte první ověřenou kartu odborníka na přihlašovací údaje.
  • Ověřte ověřenou kartu odborníka na přihlašovací údaje.

Následující diagram znázorňuje architekturu Ověřené ID Microsoft Entra a komponentu, kterou nakonfigurujete.

Diagram that illustrates the Microsoft Entra Verified ID architecture.

Požadavky

Vytvoření ověřené karty expertů na přihlašovací údaje v Azure

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

V tomto kroku vytvoříte ověřenou kartu odborníka na přihlašovací údaje pomocí Ověřené ID Microsoft Entra. Jakmile vytvoříte přihlašovací údaje, může ho váš tenant Microsoft Entra vydat uživatelům, kteří proces zahájili.

  1. Přihlaste se do Centra pro správu Microsoft Entra jako aspoň globální Správa istrator.

  2. Vyberte Ověřitelné přihlašovací údaje.

  3. Po nastavení tenanta by se měly zobrazit přihlašovací údaje Vytvořit. Případně můžete v nabídce vlevo vybrat Přihlašovací údaje a vybrat + Přidat přihlašovací údaje.

  4. V části Vytvořit přihlašovací údaje vyberte Vlastní přihlašovací údaje a klikněte na Další:

    1. Jako název přihlašovacích údajů zadejte VerifiedCredentialExpert. Tento název se používá na portálu k identifikaci ověřitelných přihlašovacích údajů. Je součástí ověřitelné smlouvy s přihlašovacími údaji.

    2. Zkopírujte následující JSON a vložte ho do textového pole Definice zobrazení .

      {
          "locale": "en-US",
          "card": {
            "title": "Verified Credential Expert",
            "issuedBy": "Microsoft",
            "backgroundColor": "#000000",
            "textColor": "#ffffff",
            "logo": {
              "uri": "https://didcustomerplayground.blob.core.windows.net/public/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. Zkopírujte následující JSON a vložte ho do textového pole Definice pravidel.

      {
        "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. Vyberte Vytvořit.

Následující snímek obrazovky ukazuje, jak vytvořit nové přihlašovací údaje:

Screenshot that shows how to create a new credential.

Shromáždění přihlašovacích údajů a podrobností o prostředí

Teď, když máte nové přihlašovací údaje, shromáždíte některé informace o vašem prostředí a přihlašovacích údaji, které jste vytvořili. Tyto informace použijete při nastavování ukázkové aplikace.

  1. V části Ověřitelné přihlašovací údaje vyberte Problém s přihlašovacími údaji.

    Screenshot that shows how to select the newly created verified credential.

  2. Zkopírujte autoritu, což je decentralizovaný identifikátor, a poznamenejte si ji pro pozdější použití.

  3. Zkopírujte adresu URL manifestu. Jedná se o adresu URL, kterou Authenticator vyhodnotí, než se zobrazí požadavkům na ověření přihlašovacích údajů uživatele. Poznamenejte si ho pro pozdější použití.

  4. Zkopírujte ID tenanta a poznamenejte si ho pro pozdější použití. ID tenanta je identifikátor GUID v adrese URL manifestu zvýrazněné červeně nahoře.

Stažení ukázkového kódu

Ukázková aplikace je k dispozici v .NET a kód se udržuje v úložišti GitHub. Stáhněte si ukázkový kód z GitHubu nebo naklonujte úložiště do místního počítače:

git clone https://github.com/Azure-Samples/active-directory-verifiable-credentials-dotnet.git

Konfigurace ověřitelné aplikace s přihlašovacími údaji

Vytvořte tajný klíč klienta pro zaregistrovanou aplikaci, kterou jste vytvořili. Ukázková aplikace používá tajný klíč klienta k prokázání své identity při žádosti o tokeny.

  1. Přihlaste se do Centra pro správu Microsoft Entra jako aspoň globální Správa istrator.

  2. Vyberte Microsoft Entra ID.

  3. Přejděte na stránku Aplikace> Registrace aplikací.

  4. Vyberte ověřitelnou aplikaci aplikace přihlašovacích údajů, kterou jste vytvořili dříve.

  5. Výběrem jména přejděte do podrobností o registraci.

  6. Zkopírujte ID aplikace (klienta) a uložte ho pro pozdější použití.

    Screenshot that shows how to copy the app registration ID.

  7. V hlavní nabídce v části Spravovat vyberte Certifikáty a tajné kódy.

  8. Vyberte Nový tajný klíč klienta a postupujte takto:

    1. Do popisu zadejte popis tajného klíče klienta (například vc-sample-secret).

    2. V části Konec platnosti vyberte dobu, po kterou je tajný klíč platný (například šest měsíců). Pak vyberte Přidat.

    3. Poznamenejte si hodnotu tajného kódu. Tuto hodnotu použijete pro konfiguraci v pozdějším kroku. Hodnota tajného kódu se znovu nezobrazí a není k dispozici žádným jiným způsobem. Poznamenejte si ho, jakmile bude vidět.

V tomto okamžiku byste měli mít všechny požadované informace, které potřebujete k nastavení ukázkové aplikace.

Aktualizace ukázkové aplikace

Teď provedete úpravy kódu vystavitele ukázkové aplikace, abyste ho aktualizovali pomocí ověřitelné adresy URL přihlašovacích údajů. Tento krok umožňuje vydávat ověřitelné přihlašovací údaje pomocí vlastního tenanta.

  1. Ve složce active-directory-verifiable-credentials-dotnet-main otevřete Visual Studio Code a vyberte projekt uvnitř složky 1-asp-net-core-api-idtokenhint.

  2. V kořenové složce projektu otevřete soubor appsettings.json . Tento soubor obsahuje informace o vašem prostředí Ověřené ID Microsoft Entra. Aktualizujte následující vlastnosti s informacemi, které jste si poznamenali v předchozích krocích:

    1. ID tenanta: ID tenanta
    2. ID klienta: ID klienta
    3. Tajný klíč klienta: tajný klíč klienta
    4. DidAuthority: Váš decentralizovaný identifikátor
    5. Manifest přihlašovacích údajů: Adresa URL manifestu

    CredentialType je potřeba jenom pro prezentaci, takže pokud chcete jenom vystavování udělat, není to nezbytně nutné.

  3. Uložte soubor appsettings.json.

Následující json ukazuje úplný soubor 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": "12345678-0000-0000-0000-000000000000",
    "ClientId": "33333333-0000-0000-0000-000000000000",
    "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/12345678-0000-0000-0000-000000000000/verifiableCredentials/contracts/VerifiedCredentialExpert"
  }
}

Vydání první ověřené karty odborníka na přihlašovací údaje

Teď jste připraveni vydat první ověřenou kartu odborníka na přihlašovací údaje spuštěním ukázkové aplikace.

  1. V editoru Visual Studio Code spusťte projekt Verifiable_credentials_DotNet . Nebo z příkazového řádku operačního systému spusťte:

    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. V jiném okně příkazového řádku spusťte následující příkaz. Tento příkaz spustí nástroj ngrok , který nastaví adresu URL na 5000 a zpřístupní ji veřejně na internetu.

    ngrok http 5000
    

    Poznámka:

    V některých počítačích může být nutné spustit příkaz v tomto formátu: ./ngrok http 5000.

  3. Otevřete adresu URL HTTPS vygenerovanou ngrokem.

    Screenshot that shows how to get the ngrok public URL.

  4. Ve webovém prohlížeči vyberte Získat přihlašovací údaje.

    Screenshot that shows how to choose to get the credential from the sample app.

  5. Pomocí mobilního zařízení naskenujte kód QR pomocí aplikace Authenticator. Kód QR můžete také naskenovat přímo z fotoaparátu, který vám otevře aplikaci Authenticator.

    Screenshot that shows how to scan the QR code.

  6. V tuto chvíli se zobrazí zpráva s upozorněním, že tato aplikace nebo web může být riziková. Vyberte Upřesnit.

    Screenshot that shows how to respond to the warning message.

  7. V upozornění na rizikový web vyberte Přesto pokračovat (nebezpečné). Toto upozornění se zobrazuje, protože vaše doména není propojená s vaším decentralizovaným identifikátorem (DID). Pokud chcete ověřit doménu, postupujte podle odkazu na vaši doménu s decentralizovaným identifikátorem (DID). Pro účely tohoto kurzu můžete registraci domény přeskočit a přesto vybrat Pokračovat (nebezpečné).

    Screenshot that shows how to proceed with the risky warning.

  8. Zobrazí se výzva k zadání kódu PIN, který se zobrazí na obrazovce, kde jste kód QR naskenovali. Pin kód přidá do vystavování další vrstvu ochrany. Kód PIN se náhodně vygeneruje při každém zobrazení kódu QR vystavení.

    Screenshot that shows how to type the pin code.

  9. Po zadání čísla PIN se zobrazí obrazovka Přidat přihlašovací údaje . V horní části obrazovky se zobrazí neověřená zpráva (červeně). Toto upozornění souvisí s upozorněním na ověření domény, které jsme zmínili dříve.

  10. Pokud chcete přijmout nové ověřitelné přihlašovací údaje, vyberte Přidat .

    Screenshot that shows how to add your new credential.

Blahopřejeme! Teď máte ověřené ověřitelné přihlašovací údaje odborníka na přihlašovací údaje.

Screenshot that shows a newly added verifiable credential.

Vraťte se do ukázkové aplikace. Ukazuje, že přihlašovací údaje byly úspěšně vydány.

Screenshot that shows a successfully issued verifiable credential.

Ověřitelné názvy přihlašovacích údajů

Ověřitelné přihlašovací údaje obsahují Megan Bowen pro hodnoty křestní jména a příjmení v přihlašovacích údajích. Tyto hodnoty byly pevně zakódovány v ukázkové aplikaci a byly přidány k ověřitelným přihlašovacím údajům v době vystavení v datové části.

V reálných scénářích vaše aplikace načítá podrobnosti o uživateli od zprostředkovatele identity. Následující fragment kódu ukazuje, kde je název nastavený v ukázkové aplikaci.

//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";
    ...
}

Další kroky

V dalším kroku se dozvíte, jak aplikace třetí strany, označovaná také jako aplikace předávající strany, může ověřit vaše přihlašovací údaje pomocí vlastní služby rozhraní API ověřitelných přihlašovacích údajů tenanta Microsoft Entra.