Skip to main content
Glama
auth.py1.5 kB
""" Admin authentication utilities """ from typing import Optional from fastapi import HTTPException, Request, status from src.database import DatabaseService def verify_admin_session(request: Request) -> bool: """Check if user is authenticated as admin""" return request.session.get("admin_authenticated", False) def get_current_admin_username(request: Request) -> Optional[str]: """Get currently authenticated admin username from session""" if verify_admin_session(request): return request.session.get("admin_username") return None def require_admin_auth(request: Request): """Dependency to require admin authentication""" if not verify_admin_session(request): raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Admin authentication required" ) async def authenticate_admin(request: Request, username: str, password: str, db: DatabaseService) -> bool: """Authenticate admin user and set session""" admin = await db.verify_admin_password(username, password) if admin: request.session["admin_authenticated"] = True request.session["admin_username"] = admin.username request.session["admin_id"] = admin.id return True return False def logout_admin(request: Request): """Clear admin session""" request.session.pop("admin_authenticated", None) request.session.pop("admin_username", None) request.session.pop("admin_id", None)

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/GeorgeStrakhov/mcpeasy'

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