Dela 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 hur du använder REST API för att utföra slutanvändarautentisering med Azure Data Lake Storage Gen1. För tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med hjälp av REST API, se 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 på 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 behålla åtkomsten.

Resultatet av att slutanvändaren loggar in är att programmet får en åtkomsttoken och en uppfriskningstoken. Å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>

    Anmärkning

    <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 denna handledning kan du ersätta platshållarvärdena i URL:en ovan och klistra in den i adressfältet i webbläsaren. 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. Fånga 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>
    

    Anmärkning

    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 få 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 användarautentisering på ett interaktivt sätt finns i auktoriseringskodgrant-flöde.

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.