Använda klientcertifikat för att hämta åtkomsttoken från Azure AD
I den här artikeln beskrivs hur du lägger till klientcertifikat i Tailspin Surveys-exempelprogrammet.
När du använder auktoriseringskodflöde eller hybridflöde i OpenID Anslut, utbyter klienten en auktoriseringskod för en åtkomsttoken. Under det här steget måste klienten autentisera sig mot servern.

Det finns många sätt att autentisera klienten med hjälp av klienthemlighet, certifikat och intyg. Tailspin Surveys-programmet är konfigurerat för att använda klienthemlighet som standard.
Här är en exempelbegäran från klienten till IDP:en som begär en åtkomsttoken. Lägg märke till parametern client_secret.
POST https://login.microsoftonline.com/b9bd2162xxx/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
resource=https://tailspin.onmicrosoft.com/surveys.webapi
&client_id=87df91dc-63de-4765-8701-b59cc8bd9e11
&client_secret=i3Bf12Dn...
&grant_type=authorization_code
&code=PG8wJG6Y...
Hemligheten är bara en sträng, så du måste se till att inte läcka värdet. Det bästa sättet är att hålla klienthemligheten utanför källkontrollen. När du distribuerar till Azure ska du lagra hemligheten i en appinställning.
Alla som har åtkomst till Azure-prenumerationen kan dock visa appinställningarna. Dessutom finns det alltid en vilja att kontrollera hemligheter i källkontroll (till exempel i distributionsskript), dela dem via e-post och så vidare.
För ytterligare säkerhet kan du använda ett klientcertifikat i stället för en klienthemlighet. Klienten använder ett certifikat för att bevisa att tokenbegäran kom från klienten. Klientcertifikatet lagras i nyckelvalvet. För det här alternativet lägger du ClientCertificates till under AzureAd och anger konfigurationsinställningarna så som visas här:
"ClientCertificates": [
{
"SourceType": "KeyVault",
"KeyVaultUrl": "https://msidentitywebsamples.vault.azure.net",
"KeyVaultCertificateName": "MicrosoftIdentityCert"
}
]
Anteckning
Mer information finns i Använda certifikat med Microsoft.Identity.Web.
Exempelkod