Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Warning
Voordat u hier begint, moet u het gebruik van certificaatreferenties met MSAL Node begrijpen.
Met SNI-verificatie (onderwerpnaam/verlener) kan een app worden geverifieerd met behulp van een openbaar certificaat van een vooraf vastgestelde vertrouwde CA ter ondersteuning van complexe scenario's voor het rollover van certificaten. Hierbij wordt de X5C-headerparameter gebruikt om het certificaat aan de server op te geven.
Gebruikers van de eerste partij moeten de instructies op de interne Microsoft Entra wiki volgen om hun Microsoft Entra-omgeving in te stellen ter ondersteuning van SNI.
x5c Bewering
U moet de tekenreeks van uw pem gecodeerde certificaat opgeven aan het MSAL-configuratieobject in het clientCertificate.x5c veld, naast het opgeven van beide clientCertificate.thumbprintSha256 en clientCertificate.privateKey:
Voorbeeldtekenreeks x5c uit een .pem bestand:
-----BEGIN CERTIFICATE-----
<cert1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<cert2>
-----END CERTIFICATE-----
// ...
Zie ook: Certificaten: pfx converteren naar pem
App-configuratie
Geheimen en certificaten veilig gebruiken
Geheimen mogen nooit hardcoded worden. Het dotenv npm-pakket kan worden gebruikt voor het opslaan van geheimen of certificaten in een .env-bestand (in de hoofdmap van het project) dat moet worden opgenomen in .gitignore om onbedoelde uploads van de geheimen te voorkomen.
Certificaten kunnen ook worden gelezen vanuit bestanden via de fs-module van NodeJS. Ze mogen echter nooit worden opgeslagen in de map van het project. Productie-apps moeten certificaten ophalen uit Azure KeyVault of andere beveiligde sleutelkluizen.
Raadpleeg certificaten en geheimen voor meer informatie.
Zie het MSAL-voorbeeld: auth-code-with-certs
In het onderstaande fragment ziet u hoe u MSAL initialiseert voor SNI-verificatie (Subject Name/ Issuer):
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);
Veelvoorkomende problemen
Raadpleeg veelvoorkomende problemen bij het importeren van certificaten.