Kimlik belirteçleri için doğrulanabilir kimlik bilgileri oluşturma
idTokens kanıtlamasını kullanan bir kural tanımı, Microsoft Authenticator'da OpenID Connect (OIDC) kimlik sağlayıcısında etkileşimli oturum açma işlemi yapmanız gereken bir verme akışı oluşturur. Kimlik sağlayıcısının döndürdüğü kimlik belirtecindeki talepler, verilen doğrulanabilir kimlik bilgilerini doldurmak için kullanılabilir. Kural tanımındaki talep eşleme bölümü hangi taleplerin kullanıldığını belirtir.
idTokens kanıtlama türüyle özel kimlik bilgileri oluşturma
Azure portalında, Kimlik bilgisi ekle'yi seçtiğinizde iki hızlı başlangıcı başlatma seçeneğine sahip olursunuz. Özel kimlik bilgileri'ne ve ardından İleri'ye tıklayın.
Yeni kimlik bilgisi oluştur sayfasında, görüntü için JSON kodunu ve kural tanımlarını girin. Kimlik bilgisi adı kutusunda, kimlik bilgilerine bir tür adı verin. Kimlik bilgilerini oluşturmak için Oluştur'u seçin.
Örnek JSON görüntüleme tanımları
Kanıtlama türünden bağımsız olarak JSON görüntü tanımı neredeyse aynıdır. Etiketleri yalnızca doğrulanabilir kimlik bilgilerinizin sahip olduğu taleplere göre ayarlamanız gerekir. Görüntüleme tanımları için beklenen JSON, görüntüleme koleksiyonunun iç içeriğidir. JSON bir koleksiyon olduğundan, birden çok yerel ayarı desteklemek istiyorsanız ayırıcı olarak virgülle birden çok girdi ekleyin.
{
"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.userName",
"label": "User name",
"type": "String"
},
{
"claim": "vc.credentialSubject.displayName",
"label": "Display name",
"type": "String"
},
{
"claim": "vc.credentialSubject.firstName",
"label": "First name",
"type": "String"
},
{
"claim": "vc.credentialSubject.lastName",
"label": "Last name",
"type": "String"
}
]
}
Örnek JSON kuralları tanımları
JSON kanıtlama tanımı idTokens adını, OIDC yapılandırma ayrıntılarını (clientId, configuration, redirectUri ve scope) ve talep eşleme bölümünü içermelidir. Kural tanımları için beklenen JSON, kanıtlama özniteliğiyle başlayan rules özniteliğinin iç içeriğidir.
Aşağıdaki örnekteki talep eşlemesi, kimlik sağlayıcısı bölümündeki Kimlik belirtecindeki Talepler bölümünde açıklandığı gibi belirteci yapılandırmanızı gerektirir.
{
"attestations": {
"idTokens": [
{
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
"redirectUri": "vcclient://openid/",
"scope": "openid profile email",
"mapping": [
{
"outputClaim": "userName",
"required": true,
"inputClaim": "$.upn",
"indexed": true
},
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "$.name",
"indexed": false
},
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Uygulama kaydı
clientId özniteliği, OIDC kimlik sağlayıcısındaki kayıtlı bir uygulamanın uygulama kimliğidir. Microsoft Entra Id için aşağıdaki adımları izleyerek uygulamayı oluşturursunuz:
Uygulama kayıtları'ı seçin, Yeni kayıt'ı seçin ve ardından uygulamaya bir ad verin.
Yalnızca kiracınızdaki hesapların oturum açabilmesini istiyorsanız, Yalnızca bu dizindeki hesaplar onay kutusunu seçili tutun.
Yeniden yönlendirme URI'si (isteğe bağlı) bölümünde Genel istemci/yerel (mobil ve masaüstü) öğesini seçin ve vcclient://openid/ girin.
Microsoft Entra ID belirtecinde yer alan talepleri denetlemek istiyorsanız aşağıdaki adımları izleyin:
Sol bölmede Kimlik Doğrulaması>> ekle'yi seçin.
Yeniden Yönlendirme URI'si için girin https://jwt.msve kimlik belirteçleri (örtük ve karma akışlar için kullanılır) öğesini seçin.
Yapılandır'yı seçin.
Kimlik belirtecinizi test etmeyi tamamladıktan sonra https://jwt.ms'ı ve gizli ve karma akışlar için olan desteğikaldırmayı göz önünde bulundurun.
Microsoft Entra IDiçin: Uygulama kaydınızı test edebilir ve https://jwt.msyeniden yönlendirme desteğini etkinleştirirseniz, tarayıcınızda aşağıdakileri çalıştırarak bir kimlik belirteci alabilirsiniz:
https://login.microsoftonline.com/<your-tenantId>/oauth2/v2.0/authorize?client_id=<your-appId>&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=openid%20profile&response_type=id_token&prompt=login
Kodda tenantId< değerini kiracı kimliğinizle değiştirin>. Ek talepleri almak için kapsamın bir parçası olarak profiliniz olması gerekir.
Azure Active Directory B2C için: Uygulama kayıt işlemi aynıdır, ancak B2C, Kullanıcı akışını çalıştır işlevi aracılığıyla B2C ilkelerinizi test etme amacıyla Azure portalında yerleşik desteğe sahiptir.
Kimlik sağlayıcısından kimlik belirtecindeki talepler
Doğrulanabilir kimlik bilgilerinizi başarıyla doldurabilmeleri için taleplerin döndürülen kimlik sağlayıcısında bulunması gerekir.
Talepler yoksa, verilen doğrulanabilir kimlik bilgisinde değer yoktur. Talebin profilinizde null bir değeri varsa çoğu OIDC kimlik sağlayıcısı kimlik belirtecinde talep vermez. Talebi kimlik belirteci tanımına eklediğinizden ve kullanıcı profilinize talep için bir değer girdiğinizden emin olun.
Microsoft Entra Id için: Talepleri belirtecinize eklenecek şekilde yapılandırmak için bkz . Uygulamanıza isteğe bağlı talepler sağlama. Yapılandırma uygulama başınadır, bu nedenle bu yapılandırma, kural tanımında istemci kimliğinde belirtilen uygulama kimliğine sahip uygulamaya yönelik olmalıdır.
Görüntü ve kural tanımlarını eşleştirmek için uygulamanızın isteğe bağlıClaims JSON değerini aşağıdaki örneğe benzer hale getirmelisiniz:
"optionalClaims": {
"idToken": [
{
"name": "upn",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "family_name",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "given_name",
"source": null,
"essential": false,
"additionalProperties": []
},
{
"name": "preferred_username",
"source": null,
"essential": false,
"additionalProperties": []
}
],
"accessToken": [],
"saml2Token": []
},
Azure Active Directory B2C için: Kimlik belirtecinizde diğer talepleri yapılandırmak, B2C ilkenizin bir kullanıcı akışı mı yoksa özel bir ilke mi olduğuna bağlıdır. Kullanıcı akışları hakkında bilgi için bkz . Azure Active Directory B2C'de kaydolma ve oturum açma akışı ayarlama. Özel ilke hakkında bilgi için bkz . Uygulamanıza isteğe bağlı talepler sağlama.
Diğer kimlik sağlayıcıları için ilgili belgelere bakın.
Özel kimlik bilgilerinizi vermek ve doğrulamak için örnekleri yapılandırın
Örnek kodunuzu özel kimlik bilgilerinizi yayımlayacak ve doğrulayacak şekilde yapılandırmak için şunları yapmanız gerekir:
- Kiracınızın veren merkezi olmayan tanımlayıcısı (DID)
- Kimlik bilgisi türü
- Kimlik bilgilerinizin bildirim URL'si
Özel kimlik bilgileri için bu bilgileri bulmanın en kolay yolu Azure portalında kimlik bilgilerinize gitmektir. Sorun kimlik bilgileri'ne tıklayın. Ardından İstek Hizmeti API'sine yönelik JSON yüküne sahip bir metin kutusuna erişebilirsiniz. Yer tutucu değerlerini ortamınızın bilgileriyle değiştirin. Verenin DID değeri, yetkili değeridir.