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.
Önkoşullar
- Microsoft Entra Kimlik Doğrulama için bir kiracı ayarlayın.
- Örnek uygulamayı barındıran depoyu kopyalamak için GIT'i yükleyin.
- Visual Studio Code, Visual Studio veya benzer kod düzenleyicisi.
- .NET 7.0.
- Ngrok'ı indirin ve ücretsiz bir hesaba kaydolun. Kuruluşunuzda kullanamıyorsanız
ngrok
bu SSS bölümünü okuyun. - Microsoft Authenticator'ın en son sürümüne sahip bir mobil cihaz.
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.
Microsoft Entra yönetim merkezinde Genel Yönetici olarak oturum açın.
Doğrulanabilir kimlik bilgileri'ne tıklayın.
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.
Kimlik bilgisi oluştur bölümünde Özel Kimlik Bilgileri'ne tıklayın ve İleri'ye tıklayın:
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.
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" } ] }
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" ] } }
Oluştur'u belirleyin.
Aşağıdaki ekran görüntüsünde yeni kimlik bilgilerinin nasıl oluşturulacağı gösterilmektedir:
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.
Doğrulanabilir Kimlik Bilgileri bölümünde Sorun kimlik bilgileri'ne tıklayın.
Merkezi Olmayan Tanımlayıcı olan yetkiliyi kopyalayın ve daha sonra için kaydedin.
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.
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.
Microsoft Entra yönetim merkezinde Genel Yönetici olarak oturum açın.
Microsoft Entra Kimlik'i seçin.
Uygulamalar> Uygulama kayıtları sayfasına gidin.
Daha önce oluşturduğunuz verifiable-credentials-app uygulamasını seçin.
Kayıt ayrıntılarına gitmek için adı seçin.
Uygulama (istemci) kimliğini kopyalayın ve daha sonra saklamak için saklayın.
Ana menüden Yönet'in altında Sertifikalar ve gizli diziler'i seçin.
Yeni istemci gizli dizisi'ni seçin ve aşağıdakileri yapın:
Açıklama'da, istemci gizli dizisi için bir açıklama girin (örneğin, vc-sample-secret).
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.
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.
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.
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:
- Kiracı Kimliği: Kiracı kimliğiniz
- İstemci Kimliği: istemci kimliğiniz
- İstemci Gizli Anahtarı: istemci gizli anahtarınız
- DidAuthority: Merkezi Olmayan Tanımlayıcınız
- 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.
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.
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
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
.ngrok tarafından oluşturulan HTTPS URL'sini açın.
Web tarayıcısından Kimlik Bilgilerini Al'ı seçin.
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.
Ş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.
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 .
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 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.
Yeni doğrulanabilir kimlik bilgilerinizi kabul etmek için Ekle'yi seçin.
Tebrikler! Artık doğrulanmış bir kimlik bilgisi uzmanı doğrulanabilir kimlik bilgileriniz var.
Örnek uygulamaya geri dönün. Bir kimlik bilgilerinin başarıyla verildiğini gösterir.
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.