Skip to content
Snippets Groups Projects
routes.py 640 B
Newer Older
  • Learn to ignore specific revisions
  • from fastapi import APIRouter, HTTPException
    from routes.oauth.models import OAuth2TokenRequest
    import requests
    import os
    
    
    IAM_AUTHORITY = os.environ['IAM_AUTHORITY']
    IAM_CLIENT_ID = os.environ['IAM_CLIENT_ID']
    IAM_CLIENT_SECRET = os.environ['IAM_CLIENT_SECRET']
    
    router = APIRouter()
    
    
    @router.post("/oauth/token")
    def get_token(req: OAuth2TokenRequest):
    
        if (req.client_id != IAM_CLIENT_ID):
            raise HTTPException(status_code=403, detail="Client not allowed.")
    
        payload = req.dict()
        payload["client_secret"] = IAM_CLIENT_SECRET
        response = requests.post(IAM_AUTHORITY + "/token", payload)
        return response.json()