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()