Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek ukazuje, jak inicializovat ConfidentialClientApplication objekt v uzlu MSAL. Dozvíte se, jak bezpečně používat tajné kódy a certifikáty a jak nakonfigurovat autoritu.
Předpoklady
Před inicializací aplikace ji nejprve musíte zaregistrovat v Centrum pro správu Microsoft Entra a vytvořit vztah důvěryhodnosti mezi vaší aplikací a Microsoft identity platform.
Po registraci aplikace budete potřebovat některé nebo všechny následující hodnoty, které najdete v Centrum pro správu Microsoft Entra.
| Value | Povinné | Description |
|---|---|---|
| ID aplikace (klienta) | Povinné | Identifikátor GUID, který jednoznačně identifikuje vaši aplikaci v rámci Microsoft identity platform. |
| Autorita | Optional | Adresa URL zprostředkovatele identity ( instance) a cílová skupina přihlašování pro vaši aplikaci. Instance a okruh uživatelů pro přihlášení po zřetězení tvoří autoritu. |
| ID adresáře (klienta) | Optional | Zadejte ID adresáře (tenanta), pokud vytváříte obchodní aplikaci výhradně pro vaši organizaci, často označovanou jako aplikace s jedním tenantem. |
| Přesměrování URI | Optional | Pokud vytváříte webovou aplikaci, redirectUri určuje, kam má poskytovatel identity (platforma Microsoft identity) vracet bezpečnostní tokeny, které vydal. |
Inicializace objektu ConfidentialClientApplication
Pokud chcete použít uzel MSAL, musíte vytvořit instanci objektu ConfidentialClient .
Bezpečné používání tajných kódů a certifikátů
Tajné kódy by nikdy neměly být pevně zakódované. Balíček dotenv npm lze použít k ukládání tajných kódů nebo certifikátů do souboru .env (umístěného v kořenovém adresáři projektu), který by měl být součástí souboru .gitignore , aby se zabránilo náhodnému nahrání tajných kódů.
Certifikáty lze také číst ze souborů prostřednictvím modulu fs nodeJS. Nikdy by ale neměly být uložené v adresáři projektu. Produkční aplikace by měly načítat certifikáty z Azure služby KeyVault nebo jiných zabezpečených trezorů klíčů.
Další informace najdete v certifikátech a tajných kódech .
Projděte si ukázku MSAL: auth-code-with-certs
import * as msal from "@azure/msal-node";
import "dotenv/config"; // process.env now has the values defined in a .env file
const clientAssertionCallback = async (config) => {
// network request that uses config.clientId and (optionally) config.tokenEndpoint
const result = await Promise.resolve(
"network request which gets assertion"
);
return result;
};
const clientConfig = {
auth: {
clientId: "your_client_id",
authority: "your_authority",
clientSecret: process.env.clientSecret, // OR
clientCertificate: {
thumbprintSha256: process.env.thumbprint,
privateKey: process.env.privateKey,
}, // OR
clientAssertion: clientAssertionCallback, // or a predetermined clientAssertion string
},
};
const cca = new msal.ConfidentialClientApplication(clientConfig);
Viz Časté problémy při importu certifikátů.
Základy konfigurace
Možnosti konfigurace uzlu mají common parametry a specific parametry pro každý tok ověřování.
-
clientIdje povinné pro inicializaci veřejné klientské aplikace. -
authoritymá výchozí hodnotuhttps://login.microsoftonline.com/common/, pokud ji uživatel při konfiguraci nenastaví - Přihlašovací údaje klienta jsou pro důvěrné klienty povinné. Přihlašovací údaje klienta můžou být:
-
clientSecretje vygenerovaný tajný řetězec nastavený při registraci aplikace. -
clientCertificateje certifikát nastavený na registraci aplikace. Jedná sethumbprintSha256o kryptografický otisk SHA-256 X.509 certifikátu aprivateKeyjedná se o privátní klíč kódovaný PEM.x5cje volitelný řetězec certifikátů X.509 používaný ve scénářích ověřování názvu subjektu/vydavatele. -
clientAssertionje ClientAssertion objekt obsahující kontrolní řetězec nebo funkci zpětného volání, která vrací řetězec kontrolního výrazu, který aplikace používá při vyžádání tokenu, a také typ kontrolního výrazu (urn:ietf:params:oauth:client-assertion-type:jwt-bearer). Funkce zpětného volání je volána pokaždé, když MSAL potřebuje získat token od vydavatele tokenu. Vývojáři aplikací by obecně měli zpětné volání používat, protože platnost kontrolních výrazů vyprší a je potřeba vytvořit nové kontrolní výrazy. Vývojáři aplikací nesou odpovědnost za životnost aserce. Tento mechanismus použijte k získání tokenů pro podřízené rozhraní API pomocí přihlašovacích údajů federované identity.
-
Další možnosti konfigurace najdetev tématu Konfigurace v uzlu MSAL.
Nakonfigurovat autoritu
Ve výchozím nastavení je služba MSAL nakonfigurovaná s tenantem common , který se používá pro aplikace a aplikace s více tenanty, které povolují osobní účty (ne B2C).
authority: 'https://login.microsoftonline.com/common/'
Pokud jsou uživatelé vaší aplikace omezeni na jednoho tenanta, musíte uvést autoritu s ID tenanta, jak je uvedeno níže:
authority: 'https://login.microsoftonline.com/{your_tenant_id}'