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."""
...