Aracılığıyla paylaş


Uygulamadan kimlik bilgileri Microsoft Entra Kimlik Doğrulama sorunu

Bu öğreticide, yerel bilgisayarınızdan Microsoft Entra kiracınıza bağlanan bir örnek uygulama çalıştıracaksınız. Uygulamayı kullanarak doğrulanmış bir kimlik bilgisi uzman kartı verecek ve doğrulaacaksınız.

Bu makalede şunları öğreneceksiniz:

  • Azure'da doğrulanmış kimlik bilgisi uzman kartını oluşturun.
  • Örnek uygulamayı ayarlamak için kimlik bilgilerini ve ortam ayrıntılarını toplayın.
  • Örnek uygulama kodunu yerel bilgisayarınıza indirin.
  • Örnek uygulamayı doğrulanmış kimlik bilgileri uzman kartınız ve ortam ayrıntılarınızla güncelleştirin.
  • Örnek uygulamayı çalıştırın ve ilk doğrulanmış kimlik bilgisi uzmanı kartınızı verin.
  • Doğrulanmış kimlik bilgisi uzman kartınızı doğrulayın.

Aşağıdaki diyagramda Microsoft Entra Kimlik Doğrulama mimarisi ve yapılandırdığınız bileşen gösterilmektedir.

Microsoft Entra Kimlik Doğrulama mimarisini gösteren diyagram.

Önkoşullar

Azure'da doğrulanmış kimlik bilgisi uzman kartını oluşturma

İpucu

Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.

Bu adımda, Microsoft Entra Kimlik Doğrulama kullanarak doğrulanmış kimlik bilgisi uzman kartını oluşturursunuz. Kimlik bilgilerini oluşturduktan sonra, Microsoft Entra kiracınız işlemi başlatan kullanıcılara verebilir.

  1. Microsoft Entra yönetim merkezinde Genel Yönetici olarak oturum açın.

  2. Doğrulanabilir kimlik bilgileri'ne tıklayın.

  3. Kiracınızı ayarladıktan sonra Kimlik bilgisi oluştur'un görünmesi gerekir. Alternatif olarak, sol taraftaki menüden Kimlik Bilgileri'ni ve + Kimlik bilgisi ekle'yi seçebilirsiniz.

  4. Kimlik bilgisi oluştur bölümünde Özel Kimlik Bilgileri'ne tıklayın ve İleri'ye tıklayın:

    1. Kimlik bilgisi adı için VerifiedCredentialExpert girin. Bu ad portalda doğrulanabilir kimlik bilgilerinizi tanımlamak için kullanılır. Doğrulanabilir kimlik bilgileri sözleşmesinin bir parçası olarak dahil edilir.

    2. Aşağıdaki JSON dosyasını kopyalayın ve Görüntü tanımı metin kutusuna yapıştırın

      {
          "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. Aşağıdaki JSON dosyasını kopyalayın ve Kurallar tanımı metin kutusuna yapıştırın

      {
        "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. Oluştur'u belirleyin.

Aşağıdaki ekran görüntüsünde yeni kimlik bilgilerinin nasıl oluşturulacağı gösterilmektedir:

Yeni kimlik bilgilerinin nasıl oluşturulacağını gösteren ekran görüntüsü.

Kimlik bilgilerini ve ortam ayrıntılarını toplama

Artık yeni bir kimlik bilgileriniz olduğuna göre ortamınız ve oluşturduğunuz kimlik bilgileri hakkında bazı bilgiler toplaacaksınız. Örnek uygulamanızı ayarlarken bu bilgi parçalarını kullanırsınız.

  1. Doğrulanabilir Kimlik Bilgileri bölümünde Sorun kimlik bilgileri'ne tıklayın.

    Yeni oluşturulan doğrulanmış kimlik bilgilerinin nasıl seçildiğini gösteren ekran görüntüsü.

  2. Merkezi Olmayan Tanımlayıcı olan yetkiliyi kopyalayın ve daha sonra için kaydedin.

  3. Bildirim URL'sini kopyalayın. Authenticator'ın kullanıcı tarafından doğrulanabilir kimlik bilgisi verme gereksinimlerini görüntülemeden önce değerlendirmiş olduğu URL'dir. Daha sonra kullanmak üzere kaydedin.

  4. Kiracı Kimliğinizi kopyalayın ve daha sonra kaydetmek için kaydedin. Kiracı Kimliği, bildirim URL'sinde yukarıda kırmızıyla vurgulanan guid'dir.

Örnek kodu indirme

Örnek uygulama .NET'te kullanılabilir ve kod bir GitHub deposunda tutulur. GitHub'dan örnek kodu indirin veya depoyu yerel makinenize kopyalayın:

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

Doğrulanabilir kimlik bilgileri uygulamasını yapılandırma

Oluşturduğunuz kayıtlı uygulama için bir istemci gizli dizisi oluşturun. Örnek uygulama, belirteç istediğinde kimliğini kanıtlamak için istemci gizli dizisini kullanır.

  1. Microsoft Entra yönetim merkezinde Genel Yönetici olarak oturum açın.

  2. Microsoft Entra Kimlik'i seçin.

  3. Uygulamalar> Uygulama kayıtları sayfasına gidin.

  4. Daha önce oluşturduğunuz verifiable-credentials-app uygulamasını seçin.

  5. Kayıt ayrıntılarına gitmek için adı seçin.

  6. Uygulama (istemci) kimliğini kopyalayın ve daha sonra saklamak için saklayın.

    Uygulama kayıt kimliğinin nasıl kopyalandığını gösteren ekran görüntüsü.

  7. Ana menüden Yönet'in altında Sertifikalar ve gizli diziler'i seçin.

  8. Yeni istemci gizli dizisi'ni seçin ve aşağıdakileri yapın:

    1. Açıklama'da, istemci gizli dizisi için bir açıklama girin (örneğin, vc-sample-secret).

    2. Süre sonu'nun altında gizli dizinin geçerli olduğu bir süre seçin (örneğin, altı ay). Ardından Ekle'yi seçin.

    3. Gizli dizinin Değerini kaydedin. Bu değeri sonraki bir adımda yapılandırma için kullanacaksınız. Gizli anahtarın değeri yeniden görüntülenmez ve başka bir yolla alınamaz. Görünür olduğu anda kaydedin.

Bu noktada, örnek uygulamanızı ayarlamak için ihtiyacınız olan tüm gerekli bilgilere sahip olmanız gerekir.

Örnek uygulamayı güncelleştirme

Şimdi doğrulanabilir kimlik bilgisi URL'nizle güncelleştirmek için örnek uygulamanın veren kodunda değişiklikler yapacaksınız. Bu adım, kendi kiracınızı kullanarak doğrulanabilir kimlik bilgileri vermenizi sağlar.

  1. active-directory-verifiable-credentials-dotnet-main klasörünün altında Visual Studio Code'ı açın ve 1-asp-net-core-api-idtokenhint klasörünün içindeki projeyi seçin.

  2. Proje kök klasörünün altında appsettings.json dosyasını açın. Bu dosya, Microsoft Entra Kimlik Doğrulama ortamınız hakkında bilgi içerir. Aşağıdaki özellikleri önceki adımlarda kaydettiğiniz bilgilerle güncelleştirin:

    1. Kiracı Kimliği: Kiracı kimliğiniz
    2. İstemci Kimliği: istemci kimliğiniz
    3. İstemci Gizli Anahtarı: istemci gizli anahtarınız
    4. DidAuthority: Merkezi Olmayan Tanımlayıcınız
    5. Kimlik Bilgisi Bildirimi: Bildirim URL'niz

    CredentialType yalnızca sunu için gereklidir, bu nedenle tek istediğiniz verme işlemiyse kesinlikle gerekli değildir.

  3. appsettings.json dosyasını kaydedin.

Aşağıdaki JSON tam bir appsettings.json dosyası gösterir:

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

İlk doğrulanmış kimlik bilgisi uzmanı kartınızı verme

Artık örnek uygulamayı çalıştırarak ilk doğrulanmış kimlik bilgisi uzman kartınızı düzenlemeye hazırsınız.

  1. Visual Studio Code'dan Verifiable_credentials_DotNet projesini çalıştırın. Veya işletim sisteminizin komut satırından şunu çalıştırın:

    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. Başka bir komut istemi penceresinde aşağıdaki komutu çalıştırın. Bu komut ngrok çalıştırarak 5000'de bir URL ayarlar ve bunu İnternet'te genel kullanıma sunar.

    ngrok http 5000
    

    Not

    Bazı bilgisayarlarda komutunu şu biçimde çalıştırmanız gerekebilir: ./ngrok http 5000.

  3. ngrok tarafından oluşturulan HTTPS URL'sini açın.

    Ngrok genel URL'sinin nasıl alındığını gösteren ekran görüntüsü.

  4. Web tarayıcısından Kimlik Bilgilerini Al'ı seçin.

    Örnek uygulamadan kimlik bilgilerini almayı seçmeyi gösteren ekran görüntüsü.

  5. Mobil cihazınızı kullanarak Authenticator uygulamasıyla QR kodunu tarayın. QR kodunu tarama hakkında daha fazla bilgi için lütfen SSS bölümüne bakın.

    QR kodunun nasıl tarandığını gösteren ekran görüntüsü.

  6. Şu anda, bu uygulamanın veya web sitesinin riskli olabileceğine dair bir ileti uyarısı görürsünüz. Gelişmiş'i seçin.

    Uyarı iletisine nasıl yanıt verildiğini gösteren ekran görüntüsü.

  7. Riskli web sitesi uyarılarında Yine de devam et (güvenli değil) seçeneğini belirleyin. Etki alanınız merkezi olmayan tanımlayıcınıza (DID) bağlı olmadığından bu uyarıyı görüyorsunuz. Etki alanınızı doğrulamak için Etki alanınızı merkezi olmayan tanımlayıcınıza (DID) bağlama'yı izleyin. Bu öğretici için etki alanı kaydını atlayabilir ve Yine de devam et (güvenli değil) seçeneğini belirleyebilirsiniz .

    Riskli uyarıya nasıl devam edilebileceklerini gösteren ekran görüntüsü.

  8. QR kodunu taradığınız ekranda görüntülenen bir PIN kodu girmeniz istenir. PIN, verme işlemine ek bir koruma katmanı ekler. PIN kodu, her verme QR kodu görüntülendiğinde rastgele oluşturulur.

    Pin kodunun nasıl yazıldığını gösteren ekran görüntüsü.

  9. PIN numarasını girdikten sonra Kimlik bilgisi ekle ekranı görüntülenir. Ekranın üst kısmında Doğrulanmadı iletisini (kırmızı) görürsünüz. Bu uyarı, daha önce bahsedilen etki alanı doğrulama uyarısıyla ilgilidir.

  10. Yeni doğrulanabilir kimlik bilgilerinizi kabul etmek için Ekle'yi seçin.

    Yeni kimlik bilgilerinizin nasıl ekleneceğini gösteren ekran görüntüsü.

Tebrikler! Artık doğrulanmış bir kimlik bilgisi uzmanı doğrulanabilir kimlik bilgileriniz var.

Yeni eklenen doğrulanabilir kimlik bilgilerini gösteren ekran görüntüsü.

Örnek uygulamaya geri dönün. Bir kimlik bilgilerinin başarıyla verildiğini gösterir.

Başarıyla verilen doğrulanabilir kimlik bilgilerini gösteren ekran görüntüsü.

Doğrulanabilir kimlik bilgileri adları

Doğrulanabilir kimlik bilgileriniz, kimlik bilgilerindeki ad ve soyadı değerleri için Megan Bowen içeriyor. Bu değerler örnek uygulamada sabit olarak kodlanmıştır ve yükte verme sırasında doğrulanabilir kimlik bilgilerine eklenmiştir.

Gerçek senaryolarda uygulamanız bir kimlik sağlayıcısından kullanıcı ayrıntılarını çeker. Aşağıdaki kod parçacığı, örnek uygulamada adın nerede ayarlandığını gösterir.

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

Sonraki adımlar

Sonraki adımda, bağlı olan taraf uygulaması olarak da bilinen üçüncü taraf bir uygulamanın kendi Microsoft Entra kiracı doğrulanabilir kimlik bilgileri API hizmetiyle kimlik bilgilerinizi nasıl doğrulayabileceğinizi öğrenin.