For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReference
GuidesReference
    • Core
      • Overview
    • Agents
      • Overview
      • AgentBase
        • add_answer_verb
        • add_function_include
        • add_hint
        • add_hints
        • add_internal_filler
        • add_language
        • add_mcp_server
        • add_pattern_hint
        • add_post_ai_verb
        • add_post_answer_verb
        • add_pre_answer_verb
        • add_pronunciation
        • add_skill
        • add_swaig_query_params
        • as_router
        • auto_map_sip_usernames
        • clear_post_ai_verbs
        • clear_post_answer_verbs
        • clear_pre_answer_verbs
        • clear_swaig_query_params
        • define_contexts
        • define_tool
        • define_tools
        • enable_debug_events
        • enable_debug_routes
        • enable_mcp_server
        • enable_sip_routing
        • get_app
        • get_basic_auth_credentials
        • get_full_url
        • get_name
        • get_post_prompt
        • get_prompt
        • handle_serverless_request
        • has_skill
        • list_skills
        • manual_set_proxy_url
        • on_debug_event
        • on_function_call
        • on_summary
        • on_swml_request
        • prompt_add_section
        • prompt_add_subsection
        • prompt_add_to_section
        • prompt_has_section
        • register_routing_callback
        • register_sip_username
        • register_swaig_function
        • remove_skill
        • reset_contexts
        • run
        • serve
        • set_dynamic_config_callback
        • set_function_includes
        • set_global_data
        • set_internal_fillers
        • set_languages
        • set_native_functions
        • set_param
        • set_params
        • set_post_prompt
        • set_post_prompt_llm_params
        • set_post_prompt_url
        • set_prompt_llm_params
        • set_prompt_pom
        • set_prompt_text
        • set_pronunciations
        • set_web_hook_url
        • setup_graceful_shutdown
        • update_global_data
        • validate_basic_auth
      • AgentServer
      • BedrockAgent
      • CLI Tools
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions
      • LiveWire
      • MCP Gateway
      • PomBuilder
      • Prefabs
      • Search
      • SkillBase
      • Skills
      • SWAIGFunction
      • SWMLBuilder
      • SWMLService
      • WebService
    • RELAY
      • Overview
      • Actions
      • Call
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • Chat
      • Compat
      • Datasphere
      • Fabric
      • Imported Numbers
      • Logs
      • Lookup
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSub
      • Queues
      • Recordings
      • Registry
      • RestClient
      • Short Codes
      • SignalWireRestError
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Parameters
  • Returns
  • Examples
  • Default behavior
  • Custom validation in a subclass
AgentsAgentBase

validate_basic_auth

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

AgentServer

Next
Built with

Validate a username/password pair against the agent’s configured Basic Auth credentials. The comparison uses constant-time hmac.compare_digest to prevent timing attacks.

This method is an override point. Subclasses can replace it with custom authentication logic (e.g., database lookups, external identity providers) while the rest of the auth pipeline (_check_basic_auth, _check_cgi_auth, etc.) continues to call it transparently.

Parameters

username
strRequired

Username extracted from the incoming request’s Authorization header.

password
strRequired

Password extracted from the incoming request’s Authorization header.

Returns

bool — True if the credentials are valid, False otherwise. Returns False when no credentials have been configured on the agent.

Examples

Default behavior

1from signalwire import AgentBase
2
3agent = AgentBase(name="assistant", route="/assistant")
4is_valid = agent.validate_basic_auth("admin", "secret123")

Custom validation in a subclass

1from signalwire import AgentBase
2
3class SecureAgent(AgentBase):
4 def validate_basic_auth(self, username: str, password: str) -> bool:
5 """Look up credentials in an external user store."""
6 from myapp.auth import verify_user
7 return verify_user(username, password)