Säkerhetstoken

En central identitetsprovider är särskilt användbar för appar som har användare runt om i världen som inte nödvändigtvis loggar in från företagets nätverk. Microsofts identitetsplattform autentiserar användare och tillhandahåller säkerhetstoken, till exempel åtkomsttoken, uppdateringstoken och ID-token. Med säkerhetstoken kan ett klientprogram komma åt skyddade resurser på en resursserver.

Åtkomsttoken: En åtkomsttoken är en säkerhetstoken som utfärdas av en auktoriseringsserver som en del av ett OAuth 2.0-flöde . Den innehåller information om användaren och den resurs som token är avsedd för. Informationen kan användas för att komma åt webb-API:er och andra skyddade resurser. Åtkomsttoken verifieras av resurser för att bevilja åtkomst till en klientapp. Mer information om hur Microsofts identitetsplattform problem med åtkomsttoken finns i Åtkomsttoken.

Uppdateringstoken: Eftersom åtkomsttoken endast är giltiga under en kort tidsperiod utfärdar auktoriseringsservrar ibland en uppdateringstoken samtidigt som åtkomsttoken utfärdas. Klientprogrammet kan sedan byta ut den här uppdateringstoken mot en ny åtkomsttoken vid behov. Mer information om hur Microsofts identitetsplattform använder uppdateringstoken för att återkalla behörigheter finns i Uppdatera token.

ID-token: ID-token skickas till klientprogrammet som en del av ett OpenID-Anslut flöde. De kan skickas tillsammans med eller i stället för en åtkomsttoken. ID-token används av klienten för att autentisera användaren. Mer information om hur Microsofts identitetsplattform problem-ID-token finns i ID-token.

Anteckning

I den här artikeln beskrivs säkerhetstoken som används av protokollen OAuth2 och OpenID Anslut. Många företagsprogram använder SAML för att autentisera användare. Information om SAML-försäkran finns i Azure Active Directory SAML-tokenreferens.

Verifiera säkerhetstoken

Det är upp till appen som token genererades för, webbappen som loggade in användaren eller webb-API:et som anropas för att verifiera token. Token signeras av auktoriseringsservern med en privat nyckel. Auktoriseringsservern publicerar motsvarande offentliga nyckel. För att verifiera en token verifierar appen signaturen med hjälp av den offentliga auktoriseringsserverns offentliga nyckel för att verifiera att signaturen skapades med den privata nyckeln.

Token är endast giltiga under en begränsad tid. Vanligtvis tillhandahåller auktoriseringsservern ett par token, till exempel:

  • En åtkomsttoken som har åtkomst till programmet eller den skyddade resursen.
  • En uppdateringstoken som används för att uppdatera åtkomsttoken när åtkomsttoken är nära att upphöra att gälla.

Åtkomsttoken skickas till ett webb-API som ägartoken i Authorization huvudet. En app kan tillhandahålla en uppdateringstoken till auktoriseringsservern. Om användarens åtkomst till appen inte har återkallats får den tillbaka en ny åtkomsttoken och en ny uppdateringstoken. Så här hanteras scenariot med att någon lämnar företaget. När auktoriseringsservern tar emot uppdateringstoken utfärdar den inte någon annan giltig åtkomsttoken om användaren inte längre har behörighet.

JSON-webbtoken och anspråk

Microsofts identitetsplattform implementerar säkerhetstoken som JSON-webbtoken (JWT) som innehåller anspråk. Eftersom JWT används som säkerhetstoken kallas den här typen av autentisering ibland för JWT-autentisering.

Ett anspråk ger försäkran om en entitet, till exempel ett klientprogram eller resursägare, till en annan entitet, till exempel en resursserver. Ett anspråk kan också kallas ett JWT-anspråk eller ett JSON-webbtokenanspråk.

Anspråk är namn- eller värdepar som vidarebefordrar fakta om tokenämnet. Ett anspråk kan till exempel innehålla fakta om säkerhetsobjektet som autentiserades av auktoriseringsservern. Anspråken som finns i en specifik token beror på många saker, till exempel typen av token, vilken typ av autentiseringsuppgifter som används för att autentisera ämnet och programkonfigurationen.

Program kan använda anspråk för olika uppgifter, till exempel för att:

  • Verifiera token.
  • Identifiera tokenämnets klientorganisation.
  • Visa användarinformation.
  • Fastställ ämnets auktorisering.

Ett anspråk består av nyckel/värde-par som tillhandahåller information som:

  • Säkerhetstokenserver som genererade token.
  • Datum då token genererades.
  • Ämne (till exempel användaren – med undantag för daemoner).
  • Målgrupp, vilket är den app som token genererades för.
  • App (klienten) som bad om token. När det gäller webbappar kan den här appen vara samma som målgruppen.

Mer information om hur Microsofts identitetsplattform implementerar token och anspråksinformation finns i Åtkomsttoken och ID-token.

Hur varje flöde genererar token och koder

Beroende på hur klienten skapas kan den använda en (eller flera) av de autentiseringsflöden som stöds av Microsofts identitetsplattform. Dessa flöden kan generera olika token (ID-token, uppdateringstoken, åtkomsttoken) och auktoriseringskoder. De kräver olika token för att de ska fungera. Den här tabellen innehåller en översikt.

Flöden Kräver ID-token Åtkomsttoken Uppdateringstoken Authorization code (Auktoriseringskod)
Flöde för auktoriseringskod x x x x
Implicit flöde x x
Hybrid-OIDC-flöde x x
Uppdatera tokeninlösen Uppdateringstoken x x x
On-Behalf-Of-flöde Åtkomsttoken x x x
Klientautentiseringsuppgifter x (endast app)

Token som utfärdas via implicit läge har en längdbegränsning eftersom de skickas tillbaka till webbläsaren via URL:en, där response_mode är query eller fragment. Vissa webbläsare har en gräns för storleken på url:en som kan placeras i webbläsarfältet och misslyckas när den är för lång. Det innebär att dessa token inte har groups eller wids anspråk.

Nästa steg

Mer information om autentisering och auktorisering i Microsofts identitetsplattform finns i följande artiklar: