Tulajdonos neve/kibocsátója (SNI) hitelesítés az MSAL Node-dal

Warning

Mielőtt elkezdené, győződjön meg arról, hogy ismeri a tanúsítvány hitelesítő adatainak használatát az MSAL-csomóponttal.

Az SNI -hitelesítés (Tulajdonos neve/Kiállító) hitelesítése lehetővé teszi, hogy az alkalmazások egy előre meghatározott megbízható hitelesítésszolgáltató nyilvános tanúsítványával hitelesítsék magukat az összetett tanúsítványátvételi forgatókönyvek támogatása érdekében. Az X5C fejlécparaméter használatával adja meg a tanúsítványt a kiszolgálónak.

Az első félhez tartozó felhasználóknak a belső Microsoft Entra wikiben található utasításokat követve kell beállítaniuk a Microsoft Entra-környezetüket az SNI támogatásához.

x5c Azt állítják

A pem kódolt tanúsítványból származó karakterláncot is meg kell adnia az MSAL konfigurációs objektum clientCertificate.x5c mezőjében, a clientCertificate.thumbprintSha256 és a clientCertificate.privateKey megadása mellett:

Példa x5c karakterlánc egy .pem fájlból:

-----BEGIN CERTIFICATE-----
<cert1>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<cert2>
-----END CERTIFICATE-----

// ...

Lásd még: Tanúsítványok: pfx átalakítása pem-re

Alkalmazáskonfiguráció

Titkos kódok és tanúsítványok biztonságos használata

A titkos kulcsokat soha nem szabad szigorúan kódolni. A dotenv npm-csomag segítségével titkos kulcsokat vagy tanúsítványokat tárolhat egy .env fájlban (amely a projekt gyökérkönyvtárában található), amelyet a .gitignore-ban kell elhelyezni a titkos kódok véletlen feltöltésének megakadályozása érdekében.

A tanúsítványok a NodeJS fs modulján keresztül is beolvashatók a fájlokból. Ezeket azonban soha nem szabad a projekt könyvtárában tárolni. Az éles környezetben futó alkalmazásoknak a tanúsítványokat az Azure Key Vault-ból vagy más biztonságos kulcstárolókból kell lekérniük.

További információért tekintse meg a tanúsítványokat és a titkos kulcsokat .

Lásd az MSAL-mintát: auth-code-with-certs

Az alábbi kódrészlet bemutatja, hogyan kell inicializálni az MSAL-t a Tulajdonos neve / kibocsátó (SNI) hitelesítéshez:

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);

Gyakori problémák

Kérjük, tekintse meg a Gyakori problémák a tanúsítványok importálásakor című témakört.