Share via


Slutanvändarautentisering med Azure Data Lake Storage Gen1 med hjälp av REST API

I den här artikeln får du lära dig mer om hur du använder REST-API:et för att utföra slutanvändarautentisering med Azure Data Lake Storage Gen1. Information om tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med hjälp av REST API finns i Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med hjälp av REST API.

Förutsättningar

Slutanvändarautentisering

Slutanvändarautentisering är den rekommenderade metoden om du vill att en användare ska logga in i ditt program med hjälp av Microsoft Entra ID. Ditt program kan komma åt Azure-resurser med samma åtkomstnivå som den inloggade användaren. Användaren måste ange sina autentiseringsuppgifter regelbundet för att programmet ska kunna upprätthålla åtkomsten.

Resultatet av slutanvändarinloggningen är att ditt program får en åtkomsttoken och en uppdateringstoken. Åtkomsttoken kopplas till varje begäran som görs till Data Lake Storage Gen1 eller Data Lake Analytics och är giltig i en timme som standard. Uppdateringstoken kan användas för att hämta en ny åtkomsttoken, och den är giltig i upp till två veckor som standard, om den används regelbundet. Du kan använda två olika metoder för slutanvändarinloggning.

I det här scenariot uppmanar programmet användaren att logga in och alla åtgärder utförs i kontexten för användaren. Utför följande steg:

  1. Omdirigera användaren via ditt program till följande URL:

    https://login.microsoftonline.com/<TENANT-ID>/oauth2/authorize?client_id=<APPLICATION-ID>&response_type=code&redirect_uri=<REDIRECT-URI>

    Anteckning

    <REDIRECT-URI> måste kodas för användning i en URL. Så för https://localhost, använd https%3A%2F%2Flocalhost)

    För självstudierna kan du ersätta platshållarvärdena i URL-adressen ovan och klistra in den i webbläsarens adressfält. Du omdirigeras för att autentisera med Azure-autentiseringsuppgifter. När du har loggat in visas svaret i webbläsarens adressfält. Svaret ska ha följande format:

    http://localhost/?code=<AUTHORIZATION-CODE>&session_state=<GUID>

  2. Avbilda auktoriseringskoden från svaret. I den här självstudien kan du kopiera auktoriseringskoden från adressfältet i webbläsaren och skicka den i POST-begäran till tokenslutpunkten, enligt följande kodfragment:

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token \
    -F redirect_uri=<REDIRECT-URI> \
    -F grant_type=authorization_code \
    -F resource=https://management.core.windows.net/ \
    -F client_id=<APPLICATION-ID> \
    -F code=<AUTHORIZATION-CODE>
    

    Anteckning

    I det här fallet <behöver REDIRECT-URI> inte kodas.

  3. Svaret är ett JSON-objekt som innehåller en åtkomsttoken (till exempel "access_token": "<ACCESS_TOKEN>") och en uppdateringstoken (till exempel "refresh_token": "<REFRESH_TOKEN>"). Ditt program använder åtkomsttoken vid åtkomst till Azure Data Lake Storage Gen1 och uppdateringstoken för att hämta en annan åtkomsttoken när en åtkomsttoken upphör att gälla.

    {"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1461865782","not_before":    "1461861882","resource":"https://management.core.windows.net/","access_token":"<REDACTED>","refresh_token":"<REDACTED>","id_token":"<REDACTED>"}
    
  4. När åtkomsttoken upphör att gälla kan du begära en ny åtkomsttoken med hjälp av uppdateringstoken, enligt följande kodfragment:

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token  \
         -F grant_type=refresh_token \
         -F resource=https://management.core.windows.net/ \
         -F client_id=<APPLICATION-ID> \
         -F refresh_token=<REFRESH-TOKEN>
    

Mer information om interaktiv användarautentisering finns i Flöde beviljat med auktoriseringskod.

Nästa steg

I den här artikeln har du lärt dig hur du använder tjänst-till-tjänst-autentisering för att autentisera med Azure Data Lake Storage Gen1 med hjälp av REST API. Nu kan du titta på följande artiklar som beskriver hur du använder REST-API:et för att arbeta med Azure Data Lake Storage Gen1.