Snabb start: lägga till inloggning med Microsoft i en python-webbappQuickstart: Add sign-in with Microsoft to a Python web app

I den här snabb starten laddar du ned och kör ett kod exempel som visar hur ett python-webbprogram kan logga in användare och få en åtkomsttoken för att anropa Microsoft Graph-API: et.In this quickstart, you download and run a code sample that demonstrates how a Python web application can sign in users and get an access token to call the Microsoft Graph API. Användare med ett personligt Microsoft-konto eller ett konto i en Azure Active Directory (Azure AD) organisation kan logga in i programmet.Users with a personal Microsoft Account or an account in any Azure Active Directory (Azure AD) organization can sign into the application.

Se hur exemplet fungerar för en illustration.See How the sample works for an illustration.

FörutsättningarPrerequisites

Registrera och ladda ned snabbstartsappenRegister and download your quickstart app

Det finns två alternativ för att starta ditt snabb starts program: Express (alternativ 1) och manuell (alternativ 2)You have two options to start your quickstart application: express (Option 1), and manual (Option 2)

Alternativ 1: Registrera och konfigurera appen automatiskt och ladda sedan ned ditt kodexempelOption 1: Register and auto configure your app and then download your code sample

  1. Gå till snabb starts upplevelsen för Azure Portal-Appregistreringar .Go to the Azure portal - App registrations quickstart experience.
  2. Ange ett namn för programmet och välj Registrera.Enter a name for your application and select Register.
  3. Följ anvisningarna för att ladda ned och konfigurera det nya programmet automatiskt.Follow the instructions to download and automatically configure your new application.

Alternativ 2: Registrera och konfigurera programmet och kodexempletOption 2: Register and manually configure your application and code sample

Steg 1: Registrera ditt programStep 1: Register your application

Du registrerar programmet och lägger till appens registreringsinformationen i lösningen manuellt med hjälp av följande steg:To register your application and add the app's registration information to your solution manually, follow these steps:

  1. Logga in på Azure-portalen.Sign in to the Azure portal.
  2. Om du har åtkomst till flera klienter använder du filtret för katalog + prenumeration i den översta menyn för att välja den klient som du vill registrera ett program i.
  3. Under Hantera väljer du Appregistreringar > ny registrering.Under Manage, select App registrations > New registration.
  4. Ange ett namn för programmet, till exempel python-webapp .Enter a Name for your application, for example python-webapp . Användare av appen kan se det här namnet och du kan ändra det senare.Users of your app might see this name, and you can change it later.
  5. Under Kontotyper som stöds väljer du Accounts in any organizational directory and personal Microsoft accounts (Konton i alla organisationskataloger och personliga Microsoft-konton).Under Supported account types, select Accounts in any organizational directory and personal Microsoft accounts.
  6. Välj Register (Registrera).Select Register.
  7. På sidan Översikt över appar noterar du programmets (klient) ID- värde för senare användning.On the app Overview page, note the Application (client) ID value for later use.
  8. Under Hantera väljer du autentisering.Under Manage, select Authentication.
  9. Välj Lägg till en plattforms > webbplats.Select Add a platform > Web.
  10. Lägg till http://localhost:5000/getAToken som omdirigerings-URI.Add http://localhost:5000/getAToken as Redirect URIs.
  11. Välj Konfigurera.Select Configure.
  12. Under Hantera väljer du certifikat & hemligheter och i avsnittet klient hemligheter väljer du ny klient hemlighet.Under Manage, select the Certificates & secrets and from the Client secrets section, select New client secret.
  13. Ange en nyckel Beskrivning (till exempel appens hemlighet), lämna standard förfallo datum och välj Lägg till.Type a key description (for instance app secret), leave the default expiration, and select Add.
  14. Notera värdet för klient hemligheten för senare användning.Note the Value of the Client Secret for later use.
  15. Under Hantera väljer du API-behörigheter > Lägg till en behörighet.Under Manage, select API permissions > Add a permission.
  16. Se till att fliken Microsoft API: er är markerad.Ensure that the Microsoft APIs tab is selected.
  17. I avsnittet vanliga API: er för Microsoft väljer du Microsoft Graph.From the Commonly used Microsoft APIs section, select Microsoft Graph.
  18. I avsnittet delegerade behörigheter kontrollerar du att rätt behörigheter är markerade: User. ReadBasic. all.From the Delegated permissions section, ensure that the right permissions are checked: User.ReadBasic.All. Använd Sök fältet om det behövs.Use the search box if necessary.
  19. Välj knappen Lägg till behörigheter .Select the Add permissions button.

Steg 1: Konfigurera din app i Azure-portalenStep 1: Configure your application in Azure portal

Kod exemplet i den här snabb starten fungerar:For the code sample in this quickstart to work:

  1. Lägg till en svars-URL som http://localhost:5000/getAToken .Add a reply URL as http://localhost:5000/getAToken.
  2. Skapa en klient hemlighet.Create a Client Secret.
  3. Lägg till Microsoft Graph API: s User. ReadBasic. all delegerad behörighet.Add Microsoft Graph API's User.ReadBasic.All delegated permission.

Redan konfigurerad appen konfigureras med det här attributetAlready configured Your application is configured with this attribute

Steg 2: Ladda ned ditt projektStep 2: Download your project

Hämta projektet och extrahera zip-filen till en lokal mapp närmare rotmappen – till exempel C:\Azure-samplesDownload the project and extract the zip file to a local folder closer to the root folder - for example, C:\Azure-Samples

Anteckning

Enter_the_Supported_Account_Info_Here

Steg 3: konfigurera programmetStep 3: Configure the Application

  1. Extrahera zip-filen i en lokal mapp närmare rotkatalogen, till exempel C:\Azure-SamplesExtract the zip file to a local folder closer to the root folder - for example, C:\Azure-Samples
  2. Om du använder en Integrated Development Environment öppnar du exemplet i din favorit IDE (valfritt).If you use an integrated development environment, open the sample in your favorite IDE (optional).
  3. Öppna filen app_config. py , som du hittar i rotmappen och Ersätt med följande kodfragment:Open the app_config.py file, which can be found in the root folder and replace with the following code snippet:
CLIENT_ID = "Enter_the_Application_Id_here"
CLIENT_SECRET = "Enter_the_Client_Secret_Here"
AUTHORITY = "https://login.microsoftonline.com/Enter_the_Tenant_Name_Here"

Plats:Where:

  • Enter_the_Application_Id_here – är program-Id för programmet som du har registrerat.Enter_the_Application_Id_here - is the Application Id for the application you registered.
  • Enter_the_Client_Secret_Here – är den klient hemlighet som du skapade i certifikat & hemligheter för det program som du har registrerat.Enter_the_Client_Secret_Here - is the Client Secret you created in Certificates & Secrets for the application you registered.
  • Enter_the_Tenant_Name_Here -är katalog-ID- värdet för det program som du har registrerat.Enter_the_Tenant_Name_Here - is the Directory (tenant) ID value of the application you registered.

Steg 3: kör kod exempletStep 3: Run the code sample

Steg 4: kör kod exempletStep 4: Run the code sample

  1. Du måste installera MSAL python Library, kolv Framework Flask-Sessions för hantering av Server sidan och begär Anden med hjälp av pip på följande sätt:You will need to install MSAL Python library, Flask framework, Flask-Sessions for server-side session management and requests using pip as follows:

    pip install -r requirements.txt
    
  2. Kör app.py från Shell eller kommando rad:Run app.py from shell or command line:

    python app.py
    

    Viktigt

    Det här snabbstartsprogrammet använder en klienthemlighet för att identifiera sig som en konfidentiell klient.This quickstart application uses a client secret to identify itself as confidential client. Eftersom klienthemligheten läggs till som oformaterad text till dina projektfiler rekommenderar vi att du av säkerhetsskäl använder ett certifikat i stället för en klienthemlighet innan programmet används som produktionsprogram.Because the client secret is added as a plain-text to your project files, for security reasons, it is recommended that you use a certificate instead of a client secret before considering the application as production application. Mer information om hur du använder ett certifikat finns i följande instruktioner.For more information on how to use a certificate, see these instructions.

Mer informationMore information

Så här fungerar exempletHow the sample works

Visar hur exempel appen som genereras av den här snabb starten fungerar

Hämtar MSALGetting MSAL

MSAL är det bibliotek som används för att logga in användare och begära token som används för att få åtkomst till ett API som skyddas av Microsoft Identity Platform.MSAL is the library used to sign in users and request tokens used to access an API protected by the Microsoft identity Platform. Du kan lägga till MSAL python i ditt program med hjälp av pip.You can add MSAL Python to your application using Pip.

pip install msal

MSAL-initieringMSAL initialization

Du kan lägga till referensen i MSAL python genom att lägga till följande kod överst i filen där du kommer att använda MSAL:You can add the reference to MSAL Python by adding the following code to the top of the file where you will be using MSAL:

import msal

Hjälp och supportHelp and support

Om du behöver hjälp, vill rapportera ett problem eller vill veta mer om dina support alternativ, se Hjälp och support för utvecklare.If you need help, want to report an issue, or want to learn about your support options, see Help and support for developers.

Nästa stegNext steps

Lär dig mer om webbappar som loggar in användare i vår scenario serie med flera delar.Learn more about web apps that sign in users in our multi-part scenario series.