title | description | ROBOTS | author | manager | ms.author | ms.custom | ms.date | ms.service | ms.topic |
---|---|---|---|---|---|---|---|---|---|
Quickstart: Add sign-in with Microsoft to a Python web app |
In this quickstart, learn how a Python web app can sign in users, get an access token from the Microsoft identity platform, and call the Microsoft Graph API. |
NOINDEX |
henrymbuguakiarie |
CelesteDG |
henrymbugua |
devx-track-python, scenarios:getting-started, "languages:Python", mode-api |
01/24/2023 |
identity-platform |
quickstart |
[!div renderon="docs"] Welcome! This probably isn't the page you were expecting. While we work on a fix, this link should take you to the right article:
We apologize for the inconvenience and appreciate your patience while we work to get this resolved.
[!div renderon="portal" class="sxs-lookup"] 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. Users with a personal Microsoft Account or an account in any Microsoft Entra organization can sign into the application.
See How the sample works for an illustration.
- An Azure account with an active subscription. Create an account for free.
- Python 2.7+ or Python 3+
- Flask, Flask-Session, requests
- MSAL Python
For the code sample in this quickstart to work:
- Add a reply URL as
http://localhost:5000/getAToken
.- Create a Client Secret.
- Add Microsoft Graph API's User.ReadBasic.All delegated permission.
[!div class="nextstepaction"] Make these changes for me
[!div class="alert alert-info"] Your application is configured with this attribute
Download the project and extract the zip file to a local folder closer to the root folder - for example, C:\Azure-Samples
[!div class="nextstepaction"] Download the code sample
[!NOTE]
Enter_the_Supported_Account_Info_Here
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.txtRun
app.py
from shell or command line:python app.py[!IMPORTANT] This quickstart application uses a client secret to identify itself as confidential client. 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. For more information on how to use a certificate, see these instructions.
MSAL is the library used to sign in users and request tokens used to access an API protected by the Microsoft identity platform. You can add MSAL Python to your application using Pip.
pip install msalYou 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[!INCLUDE Help and support]
Learn more about web apps that sign in users in our multi-part scenario series.
[!div class="nextstepaction"] Scenario: Web app that signs in users