Översikt över token och anspråk

En central identitetsprovider är särskilt användbar för appar som har globala användare 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 resursen som token är avsedd för. Informationen kan användas för att komma åt webb-API:er och andra skyddade resurser. Resurser validerar åtkomsttoken för att bevilja åtkomst till ett klientprogram. Mer information finns i Åtkomsttoken i Microsofts identitetsplattform.
  • 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 denna uppdateringstoken mot en ny åtkomsttoken vid behov. Mer information finns i Uppdatera token i Microsofts identitetsplattform.
  • ID-token – ID-token skickas till klientprogrammet som en del av ett OpenID Connect-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 i Microsofts identitetsplattform.

Många företagsprogram använder SAML för att autentisera användare. Information om SAML-kontroller finns i REFERENS för SAML-token.

Verifiera token

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

Token är endast giltiga under en begränsad tid, så auktoriseringsservern tillhandahåller ofta ett par token. En åtkomsttoken tillhandahålls som kommer åt programmet eller den skyddade resursen. En uppdateringstoken tillhandahålls, som används för att uppdatera åtkomsttoken när åtkomsttoken är nära att upphöra.

Åtkomsttoken skickas till ett webb-API som ägartoken i Authorization rubriken. En app kan tillhandahålla en uppdateringstoken till auktoriseringsservern. Om användarens åtkomst till appen inte har återkallats får den en ny åtkomsttoken och en ny uppdateringstoken. När auktoriseringsservern tar emot uppdateringstoken utfärdar den bara en annan åtkomsttoken om användaren fortfarande har behörighet.

JSON-webbtoken och anspråk

Microsofts identitetsplattform implementerar säkerhetstoken som JSON Web Tokens (JWT) som innehåller anspråk. Eftersom JWT används som säkerhetstoken kallas den här typen av autentisering ibland 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 även kallas ett JWT-anspråk eller ett JSON Web Token-ansprå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 auktoriseringsservern autentiserade. Anspråken som finns i en specifik token beror på många saker, till exempel typ av token, vilken typ av autentiseringsuppgift som används för att autentisera ämnet och programkonfigurationen.

Program kan använda anspråk för följande olika uppgifter:

  • Validera token
  • Identifiera tokenämnets klientorganisation
  • Visa användarinformation
  • Fastställa subjektets auktorisering

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

  • Säkerhetstokenserver som genererade token
  • Datum då token genererades
  • Ämne (till exempel användaren, men inte daemoner)
  • Målgrupp, som är appen som token genererades för
  • App (klienten) som bad om token

Auktoriseringsflöden och autentiseringskoder

Beroende på hur klienten skapas kan den använda ett eller flera av de autentiseringsflöden som stöds av Microsofts identitetsplattform. De flöden som stöds kan skapa olika token och auktoriseringskoder och kräva olika token för att de ska fungera. Följande tabell innehåller en översikt.

Flöden Kräver ID-token Åtkomsttoken Uppdateringstoken Authorization code (Auktoriseringskod)
Auktoriseringskodflöde 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 med det implicita flödet har en längdbegränsning eftersom de skickas tillbaka till webbläsaren med hjälp av 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.

Se även

Nästa steg