Dela via


Interna appar

Varning

Det här innehållet gäller för den äldre Azure AD v1.0-slutpunkten. Använd Microsofts identitetsplattform för nya projekt.

Interna appar är program som anropar ett webb-API för en användares räkning. Det här scenariot bygger på beviljandetypen OAuth 2.0-auktoriseringskod med en offentlig klient, enligt beskrivningen i avsnitt 4.1 i OAuth 2.0-specifikationen. Det inbyggda programmet hämtar en åtkomsttoken för användaren med hjälp av OAuth 2.0-protokollet. Den här åtkomsttoken skickas sedan i begäran till webb-API:et, som auktoriserar användaren och returnerar önskad resurs.

Diagram

Diagram över api:et för internt program till webben

Protokollflöde

Om du använder AD-autentiseringsbiblioteken hanteras merparten av protokollinformationen som beskrivs nedan åt dig, till exempel webbläsarens popup-fönster, tokencachelagring och hantering av uppdateringstoken.

  1. Med hjälp av ett popup-fönster i webbläsaren skickar det inbyggda programmet en begäran till auktoriseringsslutpunkten i Azure AD. Den här begäran innehåller program-ID och omdirigerings-URI för det interna programmet enligt Azure Portal och program-ID-URI för webb-API:et. Om användaren inte redan har loggat in uppmanas de att logga in igen
  2. Azure AD autentiserar användaren. Om det är ett program för flera klientorganisationer och medgivande krävs för att använda programmet måste användaren godkänna om de inte redan har gjort det. När du har beviljat medgivande och vid lyckad autentisering utfärdar Azure AD ett auktoriseringskodsvar tillbaka till klientprogrammets omdirigerings-URI.
  3. När Azure AD utfärdar ett auktoriseringskodsvar tillbaka till omdirigerings-URI:n stoppar klientprogrammet webbläsarens interaktion och extraherar auktoriseringskoden från svaret. Med den här auktoriseringskoden skickar klientprogrammet en begäran till Azure AD tokenslutpunkt som innehåller auktoriseringskoden, information om klientprogrammet (program-ID och omdirigerings-URI) och önskad resurs (program-ID-URI för webb-API:et).
  4. Auktoriseringskoden och informationen om klientprogrammet och webb-API:et verifieras av Azure AD. Vid validering returnerar Azure AD två token: en JWT-åtkomsttoken och en JWT-uppdateringstoken. Dessutom returnerar Azure AD grundläggande information om användaren, till exempel deras visningsnamn och klientorganisations-ID.
  5. Via HTTPS använder klientprogrammet den returnerade JWT-åtkomsttoken för att lägga till JWT-strängen med en "Ägarbeteckning" i auktoriseringshuvudet för begäran till webb-API:et. Webb-API:et validerar sedan JWT-token och returnerar önskad resurs om verifieringen lyckas.
  6. När åtkomsttoken upphör att gälla får klientprogrammet ett fel som anger att användaren måste autentisera igen. Om programmet har en giltig uppdateringstoken kan det användas för att hämta en ny åtkomsttoken utan att användaren uppmanas att logga in igen. Om uppdateringstoken upphör att gälla måste programmet autentisera användaren interaktivt igen.

Anteckning

Uppdateringstoken som utfärdats av Azure AD kan användas för att komma åt flera resurser. Om du till exempel har ett klientprogram som har behörighet att anropa två webb-API:er kan uppdateringstoken användas för att hämta en åtkomsttoken till det andra webb-API:et.

Kodexempel

Se kodexemplen för scenarier med internt program till webb-API. Och kom tillbaka ofta – vi lägger till nya exempel ofta. Internt program till webb-API.

Appregistrering

Information om hur du registrerar ett program med Azure AD v1.0-slutpunkten finns i Registrera en app.

  • Enskild klientorganisation – Både det inbyggda programmet och webb-API:et måste registreras i samma katalog i Azure AD. Webb-API:et kan konfigureras för att exponera en uppsättning behörigheter som används för att begränsa det interna programmets åtkomst till dess resurser. Klientprogrammet väljer sedan önskade behörigheter från listrutan "Behörigheter till andra program" i Azure Portal.
  • Flera klientorganisationer – Först registrerades det inbyggda programmet bara i utvecklarens eller utgivarens katalog. För det andra är det inbyggda programmet konfigurerat för att ange de behörigheter som krävs för att fungera. Den här listan över nödvändiga behörigheter visas i en dialogruta när en användare eller administratör i målkatalogen ger sitt medgivande till programmet, vilket gör det tillgängligt för deras organisation. Vissa program kräver endast behörigheter på användarnivå, vilket alla användare i organisationen kan godkänna. Andra program kräver behörigheter på administratörsnivå som en användare i organisationen inte kan godkänna. Endast en katalogadministratör kan ge medgivande till program som kräver den här behörighetsnivån. När användaren eller administratören godkänner är det bara webb-API:et som registreras i deras katalog.

Förfallodatum för token

När det inbyggda programmet använder sin auktoriseringskod för att hämta en JWT-åtkomsttoken får det även en JWT-uppdateringstoken. När åtkomsttoken upphör att gälla kan uppdateringstoken användas för att autentisera användaren igen utan att de behöver logga in igen. Denna uppdateringstoken används sedan för att autentisera användaren, vilket resulterar i en ny åtkomsttoken och uppdateringstoken.

Nästa steg