Estoy escribiendo una aplicación web fastapi que se autentica mediante OKTA iDP con SAML 2.0 SSO. Quiero proteger mis API en la aplicación web. Sé que fastapi solo tiene protección API basada en Oauth2/token en lugar de cookies o sesiones. Sin embargo, solo recibimos información de sesión (índice de sesión) de IDP después de una autenticación exitosa. ¿Cómo puedo proteger la API en mi aplicación web usando esta información de índice de sesión? ¿Hay alguna forma de convertir la sesión recibida en token y guardarla en la aplicación fastapi para usarla como protección? ¿O por favor sugiérame otra manera?
from fastapi import FastAPI app = FastAPI() @app.login("/sso/login") async def login(): # got sessionindex from Okta IDP return session @app.logout("/sso/logout") async def logout(): # delete session received from Okta IDP on logout return @app.get_graph() <---------------------- async def get_graph(): # how can i protect this api. so that i can access only # on successful authentication? return