Case Embedded: User connects to SPA and requests a new embedded AppStream session. This session is embedded as IFrame or as in the AWS sample example in a container. Initially, a request to Streaming URL is sent, then after authentication the URL changes to the URL I called Active Session URL in the example below. That's where the AppStream session is actually streamed at.
If a user closes down the browser and wishes to come back to his active session (within Disconnect Timeout) - we cannot send a new create streaming url
request because this will lead to an attempt to open a new instance of our app that's already running on this session and crashes it. It's essential to allow the app to be kept running - this case assumes that the user has a work in progress and wants to return to it.
Case Redirect to AppStream: Testing shows that if a user is instead redirected to that Streaming URL the URL changes to Active Session URL, but at this point, the user has left SPA which isn't the desired outcome. Redirecting to the Streaming URL and connecting to the session within AppStream gives us access to parameters created by AppStream in localstorage
such as sessionid
, something that's not available while embedding.
How can we get that user's active session URL? Neither iFrame nor the sample container contains that URL.
Is there a way to store that URL used in iframe? And then use it to reconnect to the same session without passing a request to start one more app instance?