auth.py•1.44 kB
"""Authentication helper tool for OXII MCP server."""
from __future__ import annotations
import os
from typing import Annotated, Optional
from dotenv import load_dotenv
from pydantic import Field
from .mockup_data import MOCK_TOKEN
from .common import _request
load_dotenv()
def _require_env(var_name: str) -> str:
    value = os.getenv(var_name)
    if not value:
        raise RuntimeError(
            f"Missing environment variable {var_name}. Please set it before using get_oxii_token."
        )
    return value
def get_oxii_token(
    phone: Annotated[Optional[str], Field(description="Phone number for the OXII account", default=None)] = None,
    password: Annotated[Optional[str], Field(description="Password for the OXII account", default=None)] = None,
    country: Annotated[Optional[str], Field(description="Country code (default: VI)", default="VI")] = None,
) -> str:
    """
    Description: [MOCK] Return an authentication token from the OXII API.
    
    Args:
        phone (Optional[str]): Phone number for the OXII account.
        password (Optional[str]): Password for the OXII account.
        country (Optional[str]): Country code (default: VI).
    
    Returns:
        str: Authentication token.
    """
    
    # Simulate authentication
    if phone and password:
        print(f"[MOCK] Authenticating with phone: {phone}")
        return MOCK_TOKEN
    
    # Default credentials
    return MOCK_TOKEN