CoolFace
Apppublic

Omkar008/micrososft_authentication

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
app.py49 linesDownload Raw Back to root
1import os2import msal3import requests4from fastapi import FastAPI, HTTPException, Request5from fastapi.responses import HTMLResponse, RedirectResponse6from dotenv import load_dotenv7 8load_dotenv()9 10# Configuration11CLIENT_ID = os.getenv('CLIENT_ID_2')12CLIENT_SECRET = os.getenv('CLIENT_SECRET_2')13TENANT_ID = os.getenv('TENANT_ID')14AUTHORITY = f"https://login.microsoftonline.com/common"15REDIRECT_URI = 'https://omkar008-micrososft-authentication.hf.space/getAToken'16SCOPES = ['Mail.Read']17 18app = FastAPI()19 20 21@app.get("/")22def read_root(request: Request):23    # Generate the authorization URL24    app_instance = msal.ConfidentialClientApplication(25        CLIENT_ID,26        CLIENT_SECRET,27        authority=AUTHORITY28    )29    auth_url = app_instance.get_authorization_request_url(SCOPES, redirect_uri=REDIRECT_URI)30    return {"auth_url":auth_url}31 32@app.get("/getAToken")33def get_a_token(request: Request, code: str):34    app_instance = msal.ConfidentialClientApplication(35        CLIENT_ID,36        CLIENT_SECRET,37        authority=AUTHORITY38    )39 40    # Exchange the authorization code for an access token41    result = app_instance.acquire_token_by_authorization_code(code, SCOPES, redirect_uri=REDIRECT_URI)42    print(result)43    if "access_token" in result:44        access_token = result['access_token']45        print(access_token)46        if not access_token:47            return {"Access Token Not found !!"}48 49    return {"access_token":access_token}