Source code for structum_lab.plugins.auth.oauth

# OAuth2 (Stub)
# SPDX-License-Identifier: Apache-2.0

"""
OAuth2 interface stub for future implementation.
"""

from typing import Any, Protocol


[docs] class OAuthProvider(Protocol): """Protocol for OAuth2 providers (Google, GitHub, etc.)."""
[docs] def get_login_url(self, redirect_uri: str) -> str: """Get the OAuth login URL for the provider.""" ...
[docs] def exchange_code(self, code: str) -> dict[str, Any]: """Exchange authorization code for tokens.""" ...