from __future__ import annotations
from dataclasses import dataclass
from litestar.openapi.spec.base import BaseSchemaObject
__all__ = ("OAuthFlow",)
[docs]
@dataclass
class OAuthFlow(BaseSchemaObject):
"""Configuration details for a supported OAuth Flow."""
authorization_url: str | None = None
"""
**REQUIRED** for ``oauth2`` ("implicit", "authorizationCode"). The authorization URL to be used for this flow. This
MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
"""
token_url: str | None = None
"""
**REQUIRED** for ``oauth2`` ("password", "clientCredentials", "authorizationCode"). The token URL to be used for
this flow. This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
"""
refresh_url: str | None = None
"""The URL to be used for obtaining refresh tokens.
This MUST be in the form of a URL. The OAuth2 standard requires the use of TLS.
"""
scopes: dict[str, str] | None = None
"""
**REQUIRED** for ``oauth2``. The available scopes for the OAuth2 security scheme. A map between the scope name and a
short description for it the map MAY be empty.
"""