Azure AD 'den erişim belirteçleri almak için istemci sertifikası kullanma

Örnek kod

Bu makalede, Tailspin anketler örnek uygulamasına istemci sertifikası ekleme açıklanır.

openıd Bağlan 'de yetkilendirme kodu akışı veya karma akış kullanılırken, istemci, bir erişim belirteci için bir yetkilendirme kodu değişimi yapılır. Bu adım sırasında, istemcinin sunucuda kimliğini doğrulaması gerekir.

Gizli anahtar

İstemci gizli dizisi, sertifika ve onaylamaları kullanarak istemcinin kimliğini doğrulamanın birçok yolu vardır. Tailspin anketler uygulaması varsayılan olarak istemci gizli anahtarını kullanacak şekilde yapılandırılmıştır.

İstemciden ıDP 'ye bir erişim belirteci isteyen örnek bir istek aşağıda verilmiştir. client_secret parametresine dikkat edin.

POST https://login.microsoftonline.com/b9bd2162xxx/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded

resource=https://tailspin.onmicrosoft.com/surveys.webapi
  &client_id=87df91dc-63de-4765-8701-b59cc8bd9e11
  &client_secret=i3Bf12Dn...
  &grant_type=authorization_code
  &code=PG8wJG6Y...

Gizli dizi yalnızca bir dizedir, bu yüzden değeri sıztığınızdan emin olun. En iyi yöntem, istemci parolasının kaynak denetiminden çıkış dışında tutulması olacaktır. Azure 'a dağıtırken, gizli anahtarı bir uygulama ayarındasaklayın.

Ancak, Azure aboneliğine erişimi olan herkes uygulama ayarlarını görüntüleyebilir. Ayrıca, kaynak denetimine gizli dizileri denetletmede her zaman bir uygulama vardır (örneğin, dağıtım betiklerine), onları e-posta ile paylaşabilir ve bu şekilde devam eder.

Ek güvenlik için, istemci parolası yerine bir istemci sertifikası kullanabilirsiniz. İstemci, istemciden gelen belirteç isteğini kanıtlamak için bir sertifika kullanır. İstemci sertifikası, Anahtar Kasası 'nda depolanır. Bu seçenek için, ClientCertificates AzureAd altına ekleyin ve yapılandırma ayarlarını burada gösterildiği gibi belirtin:

   "ClientCertificates": [
      {
        "SourceType": "KeyVault",
        "KeyVaultUrl": "https://msidentitywebsamples.vault.azure.net",
        "KeyVaultCertificateName": "MicrosoftIdentityCert"
      }
     ]

Not

Daha fazla bilgi için bkz. Microsoft. Identity. Web ile sertifikaları kullanma.

Sonraki