Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Warning
Buradan başlamadan önce , MSAL Düğümü ile sertifika kimlik bilgilerini kullanma'yı anladığınızdan emin olun.
SNI (Konu Adı/Veren) kimlik doğrulaması, uygulamanın karmaşık sertifika geçişi senaryolarını desteklemek için önceden belirlenmiş bir güvenilen CA'dan genel sertifika kullanarak kimlik doğrulaması yapmasına olanak tanır. Sertifikayı sunucuya sağlamak için X5C üst bilgi parametresini kullanır.
Birinci taraf kullanıcılar, SNI'yi destekleyecek Microsoft Entra ortamlarını ayarlamak için iç Microsoft Entra wiki'deki yönergeleri izlemelidir.
x5c talep
clientCertificate.thumbprintSha256 ve clientCertificate.privateKey değerlerinin her ikisini de sağlamanın yanı sıra, kodlanmış sertifikanızdan alınan dizeyi clientCertificate.x5c alanındaki MSAL yapılandırma nesnesine pem iletmeniz gerekir:
Bir x5c dosyadan örnek .pem dize:
-----BEGIN CERTIFICATE-----
<cert1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<cert2>
-----END CERTIFICATE-----
// ...
Ayrıca bkz: Sertifikalar: pfx'i pem'e dönüştürme
Uygulama yapılandırması
Gizli anahtarların ve sertifikaların güvenli kullanımı
Gizli bilgiler asla doğrudan koda gömülmemelidir. Dotenv npm paketi, gizli dizilerin yanlışlıkla karşıya yüklenmesini önlemek için .gitignore dosyasına eklenmesi gereken bir .env dosyasında (projenin kök dizininde bulunur) gizli dizileri veya sertifikaları depolamak için kullanılabilir.
Sertifikalar NodeJS'nin fs modülü aracılığıyla dosyalardan da okunabilir. Ancak, bunlar hiçbir zaman projenin dizininde depolanmamalıdır. Üretim uygulamaları Azure KeyVault veya diğer güvenli anahtar kasalarından sertifika getirmelidir.
Daha fazla bilgi için lütfen sertifikalar ve gizli anahtarlar bölümüne bakın.
MSAL örneğine bakın: auth-code-with-certs
Aşağıdaki kod parçacığı, Konu Adı / Veren (SNI) kimlik doğrulaması için MSAL'nin nasıl başlatılmış olduğunu gösterir:
var msal = require('@azure/msal-node');
require('dotenv').config(); // process.env now has the values defined in a .env file
const config = {
auth: {
clientId: "ENTER_CLIENT_ID",
authority: "https://login.microsoftonline.com/ENTER_TENANT_ID",
clientCertificate: {
thumbprintSha256: process.env.thumbprint, // a 64-digit hexadecimal string
privateKey: process.env.privateKey,
x5c: process.env.x5c
}
}
}
};
// Create msal application object
const cca = new msal.ConfidentialClientApplication(config);
Yaygın Sorunlar
Lütfen sertifikaları içeri aktarırken sık karşılaşılan sorunlar konusuna bakın.