Sdílet prostřednictvím


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 znázorňující architekturu Ověřené ID Microsoft Entra

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 globální správce.

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

Snímek obrazovky, který ukazuje, jak vytvořit nové přihlašovací údaje

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.

    Snímek obrazovky znázorňující výběr nově vytvořených ověřených přihlašovacích údajů

  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 globální správce.

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

    Snímek obrazovky, který ukazuje, jak zkopírovat ID registrace aplikace

  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": "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"
  }
}

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.

    Snímek obrazovky znázorňující, jak získat veřejnou adresu URL ngrok

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

    Snímek obrazovky, který ukazuje, jak získat přihlašovací údaje z ukázkové aplikace

  5. Pomocí mobilního zařízení naskenujte kód QR pomocí aplikace Authenticator. Další informace o skenování kódu QR najdete v části Nejčastější dotazy.

    Snímek obrazovky, který ukazuje, jak naskenovat kód QR

  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.

    Snímek obrazovky, který ukazuje, jak odpovědět na zprávu upozornění

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

    Snímek obrazovky, který ukazuje, jak pokračovat s rizikovým upozorněním

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

    Snímek obrazovky, který ukazuje, jak zadat kód připnutí

  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 .

    Snímek obrazovky, který ukazuje, jak přidat nové přihlašovací údaje

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

Snímek obrazovky znázorňující nově přidané ověřitelné přihlašovací údaje

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

Snímek obrazovky s úspěšně vydanými ověřitelnými přihlašovacími údaji

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.