mirror of
https://github.com/home-assistant/core.git
synced 2025-04-26 18:27:51 +00:00
34 lines
971 B
Python
34 lines
971 B
Python
"""Provide oauth implementations for the Tesla Fleet integration."""
|
|
|
|
from typing import Any
|
|
|
|
from homeassistant.components.application_credentials import (
|
|
AuthImplementation,
|
|
AuthorizationServer,
|
|
ClientCredential,
|
|
)
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
from .const import AUTHORIZE_URL, SCOPES, TOKEN_URL
|
|
|
|
|
|
class TeslaUserImplementation(AuthImplementation):
|
|
"""Tesla Fleet API user Oauth2 implementation."""
|
|
|
|
def __init__(
|
|
self, hass: HomeAssistant, auth_domain: str, credential: ClientCredential
|
|
) -> None:
|
|
"""Initialize user Oauth2 implementation."""
|
|
|
|
super().__init__(
|
|
hass,
|
|
auth_domain,
|
|
credential,
|
|
AuthorizationServer(AUTHORIZE_URL, TOKEN_URL),
|
|
)
|
|
|
|
@property
|
|
def extra_authorize_data(self) -> dict[str, Any]:
|
|
"""Extra data that needs to be appended to the authorize url."""
|
|
return {"prompt": "login", "scope": " ".join(SCOPES)}
|