Offentliga klientprogram och konfidentiella klientprogram
Microsoft Authentication Library (MSAL) definierar två typer av klienter: offentliga klienter och konfidentiella klienter. De två klienttyperna särskiljs genom att de kan autentiseras på ett säkert sätt med auktoriseringsservern och upprätthålla konfidentialiteten för sina klientautentiseringsuppgifter.
Konfidentiella klientprogram är appar som körs på servrar (webbappar, webb-API-appar eller till och med tjänst-/daemon-appar). De anses vara svåra att komma åt och kan därför hålla ett program hemligt. Konfidentiella klienter kan lagra konfigurationstidshemligheter. Varje instans av klienten har en distinkt konfiguration (inklusive klient-ID och klienthemlighet). Dessa värden är svåra för slutanvändare att extrahera. En webbapp är den vanligaste konfidentiella klienten. Klient-ID:t exponeras via webbläsaren, men hemligheten skickas endast i den bakre kanalen och exponeras aldrig direkt.
Konfidentiella klientappar:



Offentliga klientprogram är appar som körs på enheter eller stationära datorer eller i en webbläsare. De är inte betrodda att på ett säkert sätt behålla programhemligheter, så de får bara åtkomst till webb-API:er för användarens räkning. (De stöder endast offentliga klientflöden.) Offentliga klienter kan inte lagra konfigurationstidshemligheter, så de har inte klienthemligheter.
Offentliga klientappar:



I MSAL.js finns det ingen uppdelning av offentliga och konfidentiella klientappar. MSAL.js representerar klientappar som användaragentbaserade appar, offentliga klienter där klientkoden körs i en användaragent som en webbläsare. Dessa klienter lagrar inte hemligheter eftersom webbläsarkontexten är öppet tillgänglig.
Jämföra klienttyperna
Här följer några likheter och skillnader mellan offentliga och konfidentiella klientappar:
- Båda typerna av appar underhåller en cache för användartoken och kan hämta en token tyst (när token redan finns i tokencachen). Konfidentiella klientappar har också en apptokencache för token som är till för själva appen.
- Båda apptyperna hanterar användarkonton och kan hämta ett konto från cacheminnet för användartoken, hämta ett konto från dess identifierare eller ta bort ett konto.
- Offentliga klientappar har fyra sätt att hämta en token (fyra autentiseringsflöden). Konfidentiella klientappar har tre sätt att hämta en token (och ett sätt att beräkna URL:en för identitetsprovidern auktorisera slutpunkten). Mer information finns i Hämta token.
I MSAL skickas klient-ID :t (kallas även program-ID eller app-ID) en gång när programmet byggs. Den behöver inte skickas igen när appen hämtar en token. Detta gäller både för offentliga och konfidentiella klientappar. Konstruktorer av konfidentiella klientappar skickas också klientautentiseringsuppgifter: hemligheten de delar med identitetsprovidern.
Nästa steg
Mer information om programkonfiguration och instansiering finns i: