Dela via


Autentisera en klientapp (Azure Data Catalog REST API)


Den här artikeln visar hur du autentiserar en Data Catalog klientapp. Den innehåller exempel i C#; Autentiseringsprocessen är dock densamma för andra programmeringsspråk.

Data Catalog klientappar använder Active Directory (Azure AD) för att autentisera användare och skydda program. Autentisering är en process för att identifiera en app eller användare. Om du vill identifiera din klientapp i Azure AD registrerar du din app med Azure AD. När du registrerar en klientapp i Azure Active Directory ger du din app åtkomst till Data Catalog API:er. Information om hur du registrerar din Data Catalog-klientapp finns i Registrera en klientapp.

Data Catalog REST API-anrop görs för en autentiserad användares räkning genom att skicka en token i rubriken "Auktorisering" i begäran. Token hämtas via Azure Active Directory.

Vad du behöver för att autentisera en Data Catalog klientapp

Om du vill autentisera en Data Catalog klientapp och utföra en REST-webbbegäran måste du:

  1. Registrera din klientapp – Information om hur du registrerar en Data Catalog klientapp finns i Registrera en klientapp. När du registrerar en klientapp i Azure Active Directory ger du din app åtkomst till Data Catalog API:er.

  2. Tilldela klient-ID för din app – Information om hur du hämtar klient-ID:t för din app finns i Så här hämtar du ett klientapp-ID. Klient-ID:t används av programmet för att identifiera sig för de användare som de begär behörigheter från.

    • I koden för klientappen tilldelar du clientID-variabeln till clientID för ditt Azure-program.
  3. Tilldela omdirigerings-Uri – För en klientapp ger en omdirigerings-URI Azure AD mer information om det specifika program som den autentiserar. En enhetlig resursidentifierare (URI) är ett värde för att identifiera ett namn på en resurs.

    • I koden för klientappen tilldelar du redirectUri till https://login.live.com/oauth20_desktop.srf. Eftersom en klientapp inte har någon extern tjänst att omdirigera till är den här URI:n standardplatshållaren för klientappar.
  4. Tilldela resurs-Uri för Data Catalog API – Resurs-Uri identifierar Data Catalog API-resurs.

    • I din klientappkod tilldelar du resourceUri till https://datacatalog.azure.com.
  5. Tilldela OAuth2-utfärdarens uri – Utfärdarens URI identifierar OAuth2-utfärdarresursen.

    • I din klientappkod tilldelar du en utfärdar-URI till https://login.windows.net/common/oauth2/authorize.

Om du vill göra en databegäran till Data Catalog REST-tjänsten måste du ange en åtkomsttoken. I en .NET-klientapp använder du Microsoft Authentication Library (MSAL) för att hämta en åtkomsttoken.

Viktigt

Om du vill autentisera en klientapp måste du lägga till en referens till Microsoft.Identity.Client, som ingår i Microsoft Authentication Library (MSAL). Om appen fortfarande använder ADAL migrerar du den till MSAL. Mer information finns i skillnaderna mellan ADAL.NET och MSAL.NET appar.

Install-Package Microsoft.Identity.Client -Version 4.48.1 

Steg för att hämta en åtkomsttoken

Att hämta en åtkomsttoken med MSAL beror på om du skapar en offentlig klient eller ett konfidentiellt klientprogram. Läs följande steg för att hämta en åtkomsttoken för ditt scenario:

Om du har en datakatalog som fortfarande använder det inaktuella ADAL-biblioteket migrerar du appen från ADAL till MSAL.

Skicka en begäran om att Data Catalog REST API med hjälp av en token

När du har fått en åtkomsttoken från Active Directory (Azure AD) använder du token för att göra en webbbegäran till Data Catalog REST API. Om du vill skapa en Data Catalog REST-webbbegäran lägger du till en åtkomsttoken i ett begärandehuvud. I en .NET-app lägger du till exempel till

HttpWebRequest request = System.Net.WebRequest.Create(apiUrl) as System.Net.HttpWebRequest;  
...  
string authHeader = authResult.CreateAuthorizationHeader();             
request.Headers.Add("Authorization", authHeader);  

Kontextflöde för Azure-autentisering

I en .NET-klientapp använder du AuthenticationContext för att hämta en Azure-åtkomsttoken. AuthenticationContext är huvudklassen som representerar den token som utfärdar utfärdare för Azure AD resurser. AuthenticationContext gör följande:

  1. AuthenticationContext startar flödet genom att omdirigera användaragenten till Azure Active Directory-auktoriseringsslutpunkten. Användaren autentiserar och samtycker, om medgivande krävs.
  2. Azure Active Directory-auktoriseringsslutpunkten omdirigerar användaragenten tillbaka till AuthenticationContext med en auktoriseringskod. Användaragenten returnerar en auktoriseringskod till klientprogrammets omdirigerings-URI.
  3. AuthenticationContext begär en åtkomsttoken från slutpunkten för Utfärdande av Azure Active Directory-token. Den visar auktoriseringskoden för att bevisa att användaren har samtyckt.
  4. Slutpunkten för utfärdande av Azure Active Directory-token returnerar en åtkomsttoken.
  5. Klientprogrammet använder åtkomsttoken för att autentisera till webb-API:et.
  6. När klientprogrammet har autentiserats returnerar Data Catalog REST-API:et begärda data.

Mer information om auktoriseringsflödet i Azure Active Directory (Azure AD) finns i Bevilja flöde för auktoriseringskod.