Skip to main content
Glama
callback.py1.29 kB
from src.auth.provider import SingleStoreOAuthProvider from starlette.exceptions import HTTPException from starlette.requests import Request from starlette.responses import JSONResponse, RedirectResponse, Response from src.logger import get_logger # Get logger for this module logger = get_logger() def make_auth_callback_handler(oauth_provider: SingleStoreOAuthProvider): async def auth_callback_handler(request: Request) -> Response: code = request.query_params.get("code") state = request.query_params.get("state") if not code: raise HTTPException(400, "Missing code parameter") if not state: raise HTTPException(400, "Missing state parameter") try: redirect_uri = await oauth_provider.handle_singlestore_callback(code, state) return RedirectResponse(status_code=302, url=redirect_uri) except HTTPException: raise except Exception as e: logger.error("Unexpected error", exc_info=e) return JSONResponse( status_code=500, content={ "error": "server_error", "error_description": "Unexpected error", }, ) return auth_callback_handler

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/singlestore-labs/mcp-server-singlestore'

If you have feedback or need assistance with the MCP directory API, please join our Discord server