Aracılığıyla paylaş


Veren hizmet iletişim örnekleri

Microsoft Entra Kimlik Doğrulama hizmeti, kuruluşunuzun OpenID uyumlu kimlik sağlayıcısı tarafından oluşturulan kimlik belirtecinden talepleri alarak doğrulanabilir kimlik bilgileri verebilir. Bu makalede, Authenticator'ın bu sağlayıcıyla iletişim kurabilmesi ve veren hizmete geçirmek için doğru Kimlik Belirtecini alabilmesi için kimlik sağlayıcınızın nasıl ayarlanacağı anlatılır.

Doğrulanabilir Kimlik Bilgileri vermek için Authenticator'a sözleşmeyi indirerek kullanıcıdan giriş toplaması ve bu bilgileri veren hizmete göndermesi istenir. Kimlik Belirteci kullanmanız gerekiyorsa Kimlik Doğrulayıcı'nın OpenID Bağlan protokolunu kullanarak bir kullanıcıda oturum açmasına izin vermek için kimlik sağlayıcınızı ayarlamanız gerekir. Sonuçta elde edilen kimlik belirtecindeki talepler, doğrulanabilir kimlik bilgilerinizin içeriğini doldurmak için kullanılır. Authenticator, OpenID Bağlan yetkilendirme kodu akışını kullanarak kullanıcının kimliğini doğrular. OpenID sağlayıcınız aşağıdaki OpenID Bağlan özelliklerini desteklemelidir:

Özellik Açıklama
Verme türü Yetkilendirme kodu verme türünü desteklemelidir.
Belirteç biçimi Şifrelenmemiş sıkıştırılmış JWT'ler üretmelidir.
İmza algoritması RS 256 kullanılarak imzalanan JWT'ler üretilmelidir.
Yapılandırma belgesi OpenID Bağlan yapılandırma belgesini ve jwks_uridesteklemelidir.
İstemci kaydı değerini kullanarak redirect_uri genel istemci kaydını desteklemelidir vcclient://openid/.
PKCE Güvenlik nedeniyle önerilir, ancak gerekli değildir.

Kimlik sağlayıcınıza gönderilen HTTP isteklerinin örnekleri aşağıda verilmiştir. Kimlik sağlayıcınızın bu istekleri OpenID Bağlan kimlik doğrulama standardına uygun olarak kabul etmesi ve yanıtlaması gerekir.

İstemci kaydı

Doğrulanabilir bir kimlik bilgisi almak için kullanıcılarınızın Microsoft Authenticator uygulamasından IDP'nizde oturum açması gerekir.

Bu değişimi etkinleştirmek için bir uygulamayı kimlik sağlayıcınıza kaydedin. Microsoft Entra Id kullanıyorsanız yönergeleri burada bulabilirsiniz. Kaydederken aşağıdaki değerleri kullanın.

Ayar Değer
Uygulama adı <Issuer Name> Verifiable Credential Service
Yeniden yönlendirme URI'si vcclient://openid/

Bir uygulamayı kimlik sağlayıcınıza kaydettikten sonra istemci kimliğini kaydedin. Bunu aşağıdaki bölümde kullanacaksınız. Ayrıca, OIDC uyumlu kimlik sağlayıcısı için iyi bilinen uç noktanın URL'sini de yazmanız gerekir. Veren Hizmet kimlik belirtecini Authenticator tarafından gönderildikten sonra doğrulamak için gereken ortak anahtarları indirmek için bu uç noktayı kullanır.

Yapılandırılan yeniden yönlendirme URI'si Authenticator tarafından kullanılır, böylece oturum açma işleminin ne zaman tamamlandığını bilir ve kimlik belirtecini alabilir.

Yetkilendirme isteği

Kimlik sağlayıcınıza gönderilen yetkilendirme isteği aşağıdaki biçimi kullanır.

GET /authorize?client_id=<client-id>&redirect_uri=vcclient%3A%2F%2Fopenid%2F&response_mode=query&response_type=code&scope=openid&state=12345&nonce=12345 HTTP/1.1
Host: www.contoso.com
Connection: Keep-Alive
Parametre Değer
client_id Uygulama kayıt işlemi sırasında alınan istemci kimliği.
redirect_uri kullanmalıdır vcclient://openid/.
response_mode desteklenmelidir query.
response_type desteklenmelidir code.
scope desteklenmelidir openid.
state OpenID Bağlan standardına göre istemciye döndürülmelidir.
nonce OpenID Bağlan standardına göre kimlik belirtecinde talep olarak döndürülmelidir.

Kimlik sağlayıcınız bir yetkilendirme isteği aldığında kullanıcının kimliğini doğrulamalı ve çok faktörlü kimlik doğrulaması gibi oturum açma işlemini tamamlamak için gerekli tüm adımları atmalıdır.

Oturum açma işlemini gereksinimlerinizi karşılayacak şekilde özelleştirebilirsiniz. Kullanıcılardan ek bilgi sağlamalarını, hizmet koşullarını kabul etmelerini, kimlik bilgilerini ödemelerini ve daha fazlasını isteyebilirsiniz. Tüm adımlar tamamlandıktan sonra, aşağıda gösterildiği gibi yeniden yönlendirme URI'sine yönlendirerek yetkilendirme isteğine yanıt verin.

vcclient://openid/?code=nbafhjbh1ub1yhbj1h4jr1&state=12345
Parametre Değer
code Kimlik sağlayıcınız tarafından döndürülen yetkilendirme kodu.
state OpenID Bağlan standardına göre istemciye döndürülmelidir.

Belirteç isteği

Kimlik sağlayıcınıza gönderilen belirteç isteği aşağıdaki forma sahip olacaktır.

POST /token HTTP/1.1
Host: www.contoso.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 291

client_id=<client-id>&redirect_uri=vcclient%3A%2F%2Fopenid%2F&grant_type=authorization_code&code=nbafhjbh1ub1yhbj1h4jr1&scope=openid
Parametre Değer
client_id Uygulama kayıt işlemi sırasında alınan istemci kimliği.
redirect_uri kullanmalıdır vcclient://openid/.
scope desteklenmelidir openid.
grant_type desteklenmelidir authorization_code.
code Kimlik sağlayıcınız tarafından döndürülen yetkilendirme kodu.

Belirteç isteğini aldıktan sonra kimlik sağlayıcınız bir kimlik belirteci ile yanıt vermelidir.

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
"id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzc
    yI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5
    NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
    fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
    AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
    Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
    NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
    QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
    K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
    XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg"
}

Kimlik belirteci JWT sıkıştırma serileştirme biçimini kullanmalıdır ve şifrelenmemelidir. Kimlik belirteci aşağıdaki talepleri içermelidir.

Talep Değer
kid OpenID sağlayıcısındaki bir girişe karşılık gelen kimlik belirtecini imzalamak için kullanılan anahtarın anahtar tanımlayıcısı jwks_uri.
aud Uygulama kayıt işlemi sırasında alınan istemci kimliği.
iss OpenID Bağlan yapılandırma belgenizdeki değer olmalıdırissuer.
exp Kimlik belirtecinin süre sonu zamanını içermelidir.
iat Kimlik belirtecinin verildiği zamanı içermelidir.
nonce Yetkilendirme isteğine dahil edilen değer.
Ek talepler Kimlik belirteci, değerleri verilecek Doğrulanabilir Kimlik Bilgileri'ne eklenecek ek talepler içermelidir. Bu bölüm, kullanıcı hakkında adı gibi tüm öznitelikleri eklemeniz gereken yerdir.

Sonraki adımlar