@@ -22,82 +22,81 @@ Interaction schema
2222
2323 @startuml
2424 title DummyAuthProvider
25- participant "Client "
25+ participant "Frontend "
2626 participant "Backend"
2727 participant "Keycloak"
2828
29- == Client Authentication at Keycloak ==
29+ == Frontend Authentication at Keycloak ==
3030
31- Client -> Backend : Request endpoint with authentication (/v1/locations)
31+ Frontend -> Backend : Request endpoint with authentication (/v1/locations)
3232
33- Backend x-[#red]> Client : 401 with redirect url in 'details' response field
33+ Backend x-[#red]> Frontend : 401 with redirect url in 'details' response field
3434
35- Client -> Keycloak : Redirect user to Keycloak login page
35+ Frontend -> Keycloak : Redirect user to Keycloak login page
3636
3737 alt Successful login
38- Client --> Keycloak : Log in with login and password
38+ Frontend --> Keycloak : Log in with login and password
3939 else Login failed
40- Keycloak x-[#red]> Client -- : Display error (401 Unauthorized)
40+ Keycloak x-[#red]> Frontend -- : Display error (401 Unauthorized)
4141 end
4242
43- Keycloak -> Client : Callback to Client /callback which is proxy between Keycloak and Backend
43+ Keycloak -> Frontend : Callback to Frontend /callback which is proxy between Keycloak and Backend
4444
45- Client -> Backend : Send request to Backend '/v1/auth/callback'
45+ Frontend -> Backend : Send request to Backend '/v1/auth/callback'
4646
4747 Backend -> Keycloak : Check original 'state' and exchange code for token's
4848 Keycloak --> Backend : Return token's
49- Backend --> Client : Set token's in user's browser in cookies
50- Clietn --> Client : Get response from backend and redirect to /locations
49+ Backend --> Frontend : Set token's in user's browser in cookies
5150
52- Client --> Backend : Request to /v1/locations
51+ Frontend --> Backend : Request to /v1/locations with session cookies
5352 Backend -> Backend : Get user info from token and check user in internal backend database
5453 Backend -> Backend : Create user in internal backend database if not exist
55- Backend -[#green]> Client -- : Return requested data
54+ Backend -[#green]> Frontend -- : Return requested data
5655
5756
5857 == GET v1/datasets ==
5958
6059
6160 alt Successful case
62- "Client " -> "Backend" ++ : access_token
61+ "Frontend " -> "Backend" ++ : access_token
6362 "Backend" --> "Backend" : Validate token
6463 "Backend" --> "Backend" : Check user in internal backend database
6564 "Backend" -> "Backend" : Get data
66- "Backend" -[#green]> "Client " -- : Return data
65+ "Backend" -[#green]> "Frontend " -- : Return data
6766
6867 else Token is expired (Successful case)
69- "Client " -> "Backend" ++ : access_token, refresh_token
68+ "Frontend " -> "Backend" ++ : access_token, refresh_token
7069 "Backend" --> "Backend" : Validate token
7170 "Backend" -[#yellow]> "Backend" : Token is expired
7271 "Backend" --> "Keycloak" : Try to refresh token
7372 "Backend" --> "Backend" : Validate new token
7473 "Backend" --> "Backend" : Check user in internal backend database
7574 "Backend" -> "Backend" : Get data
76- "Backend" -[#green]> "Client " -- : Return data
75+ "Backend" -[#green]> "Frontend " -- : Return data
7776
7877 else Create new User
79- "Client " -> "Backend" ++ : access_token
78+ "Frontend " -> "Backend" ++ : access_token
8079 "Backend" --> "Backend" : Validate token
8180 "Backend" --> "Backend" : Check user in internal backend database
8281 "Backend" --> "Backend" : Create new user
8382 "Backend" -> "Backend" : Get data
84- "Backend" -[#green]> "Client " -- : Return data
83+ "Backend" -[#green]> "Frontend " -- : Return data
8584
8685 else Token is expired and bad refresh token
87- "Client " -> "Backend" ++ : access_token, refresh_token
86+ "Frontend " -> "Backend" ++ : access_token, refresh_token
8887 "Backend" --> "Backend" : Validate token
8988 "Backend" -[#yellow]> "Backend" : Token is expired
9089 "Backend" --> "Keycloak" : Try to refresh token
91- "Backend" x-[#red]> "Client " -- : RedirectResponse can't refresh
90+ "Backend" x-[#red]> "Frontend " -- : RedirectResponse can't refresh
9291
9392 else Bad Token payload
94- "Client " -> "Backend" ++ : access_token, refresh_token
93+ "Frontend " -> "Backend" ++ : access_token, refresh_token
9594 "Backend" --> "Backend" : Validate token
96- "Backend" x-[#red]> "Client " -- : 307 Authorization error
95+ "Backend" x-[#red]> "Frontend " -- : 307 Authorization error
9796
9897 end
9998
100- deactivate "Client "
99+ deactivate "Frontend "
101100 @enduml
102101
103102
0 commit comments