Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Authenticating with OpenID Connect

...

If there is no refresh token, or if the refresh token has expired, or if the OP declines to refresh the expired access token, Pulse disconnects from the JMX manager and logs the user out of the Pulse browser session.

This diagram shows only the "expired refresh token" scenario, but the flow is very similar if the refresh token is missing or the OP declines the refresh request.

PlantUML
titlePulse Disconnects from Geode JMX When the User's Refresh Token Expires
@startuml

title Pulse Disconnects from Geode JMX When the User's Refresh Token Expires

participant Browser as browser
participant "Pulse Page\nJavascript" as page
participant "Pulse\nController" as pulse
participant Repository as repository
participant Spring as spring
participant Cluster as cluster
participant "Geode JMX" as jmx

browser -> page +: /clusterDetail
page -> pulse +: /<some-data-url>
pulse -> repository +: getCluster()
repository --> spring +: get authenticated user details
return sub, accessToken, refreshToken

alt if accessToken and refreshToken have both expired
repository -> repository : clusterMap.get(sub)
repository -> cluster +: disconnect
cluster -> jmx +: disconnect
return
return
repository -> repository : clusterMap.remove(sub)
end

return authentication exception
return "UNAUTHORIZED"
return redirect: /<logout-page>

note right browser
  Spring:
  - Logs user out of browser session
  - Redirects to "end of session" URL
end note


@enduml

...