From 35f6917f3a710549252953549471c333947eebf0 Mon Sep 17 00:00:00 2001 From: Yuriy Durov Date: Mon, 27 May 2024 16:07:23 +0400 Subject: [PATCH] Add GetAuthenticationStateAsync [InteractiveServer] sequence diagram --- .../interactive-server.png | Bin 0 -> 41473 bytes .../interactive-server.puml | 47 ++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 docs/src/seq/auth-state-providers/interactive-server.png create mode 100644 docs/src/seq/auth-state-providers/interactive-server.puml diff --git a/docs/src/seq/auth-state-providers/interactive-server.png b/docs/src/seq/auth-state-providers/interactive-server.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed47e06c99a9645fa0d51a0e680b5759225c018 GIT binary patch literal 41473 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 z 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 server: Render page (interactive) +activate server +server -> provider: GetAuthenticationStateAsync +activate provider +provider -> provider: Generate unique request identifier +provider -> server: Subscribe (id: uniqueIdentifier) +activate server +server --> provider +deactivate server +provider -> client: [MakeHttpRequest] +note right of client +Call Blazor Client via JS Interop +to make an HTTP Request to Blazor Server +end note +activate client +client -->> provider: Ack +provider -> provider: Wait for OnClientSideHttpRequest +activate provider +client -> server: HTTP Request +activate server +server -> server: InteractiveServerClientSideHttpRequestEvent (id: uniqueIdentifier) +server -> provider: OnClientSideHttpRequest (id: uniqueIdentifier, request: HttpRequest) +provider -> provider: Exit wait, return HttpRequest +deactivate provider +provider -> provider: if AccessToken expired: Refresh JwtPair +provider -> provider: Generate AuthenticationState +provider --> server: AuthenticationState, UpdatedCookies +deactivate provider +server -> server: Remove Subscription (id: uniqueIdentifier) +server -> server: Update cookies in HttpResponse +deactivate server +server --> client: OK +deactivate client +server -> server: Render page +server --> client: Page +deactivate server + +@enduml \ No newline at end of file