-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add diagram documenting request flow through system
- Loading branch information
Patrick Demers
committed
Apr 26, 2024
1 parent
9d11f68
commit 693d928
Showing
6 changed files
with
52 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
@startuml | ||
title Authorization Flow | ||
"developer.tesla.com" -> "Your Backend": Store Client ID and Client Secret securely | ||
|
||
== Obtain a Partner Authentication Token == | ||
"Secure Storage" <- "Your Backend": Fetch Client ID and Client Secret | ||
"Your Backend" -> "Tesla Auth": POST https://auth.tesla.com/oauth2/v3/token | ||
"Your Backend" <-- "Tesla Auth": {"access_token": "jwt"} | ||
|
||
== Obtain a Third-Party Token == | ||
"User" -> "Tesla Auth": https://auth.tesla.com/oauth2/v3/authorize | ||
"User" <-- "Tesla Auth": Redirect URL | ||
"User" -> "Your Backend": Redirect URL sends token to your backend | ||
"Your Backend" -> "Tesla Auth": Code Exchange\nPOST https://auth.tesla.com/oauth2/v3/token | ||
"Your Backend" <-- "Tesla Auth": {"access_token": "jwt"} | ||
|
||
@enduml |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
@startuml | ||
title Vehicle Commands Proxy | ||
|
||
"Your Backend" -> "Vehicle Commands Proxy": GET /api/1/vehicles/$VIN/command/flash_lights\n(includes Bearer token) | ||
activate "Vehicle Commands Proxy" | ||
"Vehicle Commands Proxy" -> "Vehicle Commands Proxy": Sign command using private key | ||
|
||
"Vehicle Commands Proxy" -> "Fleet API": Signed command | ||
activate "Fleet API" | ||
|
||
"Fleet API" -> Vehicle: Signed command | ||
activate Vehicle | ||
Vehicle -> Vehicle: Validate signature\nusing public key | ||
Vehicle -> Vehicle: Flash Lights | ||
Vehicle --> "Fleet API": Response | ||
deactivate Vehicle | ||
|
||
"Fleet API" --> "Vehicle Commands Proxy": Response | ||
deactivate "Fleet API" | ||
|
||
"Vehicle Commands Proxy" --> "Your Backend": Response | ||
deactivate "Vehicle Commands Proxy" | ||
@enduml |