Updates the default zone file path to point to the parking zones file.
This change ensures the application uses the correct GeoJSON file for determining parking zones.
Ensures the RePair endpoint includes the VIN in the telemetry config request.
This guarantees that telemetry data is specifically requested for the provided VIN.
Updates the hardcoded access token used in the /RePair endpoint.
The previous token was likely outdated or invalid, preventing the endpoint from functioning correctly. This change ensures the endpoint can properly authenticate and access necessary resources.
Specifies that the logger and http client factory should be injected via dependency injection instead of directly from the request.
This allows for better testability and separation of concerns.
Implements fleet telemetry configuration by first removing the existing telemetry configuration and then posting a new configuration.
This configures telemetry data collection intervals and host information.
Adds logging for request/response from the API.
Enhances parking state logic by setting the initial gear to "P" and adding more detailed logging for state changes and parking events.
This provides better insight into vehicle states and parking behaviors.
Updates the MQTT client to subscribe to all subtopics under "telemetry"
using the wildcard "#". This allows the client to receive messages from various telemetry sources, improving data ingestion.
Improves logging for MQTT server events to provide more detailed
information for debugging and monitoring. Logs the message payload
when a client publishes a message and includes username, password,
and remote IP address when an observer fails to connect due to
invalid credentials.
Adds an endpoint to retrieve fleet status information.
This endpoint uses a Tesla API proxy to fetch the fleet status
based on provided VINs. It handles authentication using a bearer
token and sends a POST request to the /api/1/vehicles/fleet_status
endpoint.
Also introduces new data models to properly serialize/deserialize the fleet status response.
Removes the redundant base address and header configurations from within the endpoint handler. This configuration should be handled elsewhere, avoiding unnecessary repetition.
Changes the application registration endpoints to use the ITeslaAuthenticatorService interface.
Updates the KeyPairing endpoint to redirect to the correct Tesla connector app.
Adds a new KeyPairing2 endpoint.
Reads telemetry configuration parameters such as hostname, port, and CA certificate from an external JSON file.
This decouples configuration from code, allowing for easier updates and management of telemetry settings.
Removes the explicit setting of the "Content-Type" header,
as HttpClient handles this automatically based on the content being sent.
This change simplifies the code and avoids potential conflicts
if the content type is already being set elsewhere.
Adds named HTTP client configuration with insecure settings to
communicate with the tesla_command_proxy, which uses a self-signed
certificate.
Changes the base address to use HTTPS.
Changes the redirect URI after successful authorization to a more specific endpoint, likely to integrate with a UI or service named "Tesla". This allows the application to properly handle the authorization response and proceed with the next steps.
Changes from `RedirectToRoute` to `LocalRedirect` for the
authorization endpoint to improve security and ensure the
redirect stays within the application's domain.
Adds an endpoint to interact with the Tesla API via a command proxy.
This includes fetching vehicle information and configuring telemetry settings. It introduces new models to represent the Tesla API responses and request structures.
Replaces the default document retriever with a custom implementation.
This change simplifies the configuration by embedding the HTTP document retriever directly within the custom retriever, and centralizes the URL replacement logic for Tesla's OIDC configuration. This avoids injecting the HttpDocumentRetriever into the TeslaDocumentRetriever constructor and makes the code more maintainable.
Updates the Tesla OIDC address to use the production environment.
This ensures that the application uses the correct endpoint for authentication
and avoids issues related to using the development environment in production.
Removes the unnecessary instantiation of the OpenIdConnectConfigurationRetriever. The object is instantiated directly in the ConfigurationManager constructor, making the explicit instantiation redundant.
Configures the Tesla OIDC endpoints using the base URL
to dynamically set authorization, token, JWKS URI, end
session, and user info endpoints. This eliminates the need
for a URL override function and centralizes the endpoint
configuration logic.
Configures the OpenID Connect (OIDC) authentication flow by
explicitly setting the authorization, token, JWKS, end session, and
user info endpoints.
This change removes the custom OIDC configuration manager and
directly sets the configuration within the OIDC options. This approach
simplifies the configuration and ensures that the application uses
the correct endpoints for authentication and authorization with the
third-party provider.
Updates the authentication configuration to utilize Fleet-Auth's third-party OIDC configuration.
This change streamlines the authentication process by directly pointing to the third-party metadata and adds the Fleet API audience to the token request, ensuring proper authorization for accessing Tesla's Fleet API. It also configures Tesla specific parameters.
Improves authentication by adding a signing key resolver and overriding the token endpoint.
This change ensures proper validation of Tesla's OIDC tokens by fetching the signing keys from the issuer's `certs` endpoint and caching them. It also configures the token endpoint required for Tesla authentication.
Disables issuer validation during token authentication.
The token validation parameters are adjusted to bypass
issuer validation, since the issuer is already validated via the `ValidIssuers` parameter.
Adds multiple valid issuers to the authentication configuration.
This ensures compatibility with different Tesla authentication endpoints,
including fleet and regional variations.