Here is my theory of what happened:
From the cookie life cycle, each time the user authentication state changes (login user β logout user user logout user β login user), the old cookie will be canceled and replaced with a new cookie.
But why did this happen in the subway, and not in other places?
1. These days, most metros provide free, unsecured WiFi to complement poor wireless network connectivity while the metro.
2. In 10.3 some messages were published about the problem of connecting to the network, and this one , in particular, is interesting, since the problem was location dependent .
3. I think that the combination of (1) and (2) above made the application re-authenticate with the server. Maybe you could pull out the logs to check if this is true?
Possible workaround?
Maybe not.
We cannot stop iPhone users from updating iOS. And most have already been.
In addition, the security impairment of non-changing cookies after re-authentication is worse.
Update based on the comment dated 05/31/2017:
Given the details, as in the comments. We could have a better explanation.
In the cookie life cycle, when the user logs out, server-side-invalidation should take place.
Work Stream:
1. When the user logout , authenticated sessionID will be deleted from the browser.
2. But this is not enough. The server needs to invalidate that sessionID too. Otherwise, there may be safety implications.
3. Perhaps in your case the server did not invalidate. That way, he is still expecting a sessionID that was deleted from the browser .
This is just one possible explanation. To be precise, a more detailed analysis of the log file and an additional experiment will be required.
For example, during this period, a reauthentication occurred in the server log?
Can we check in a controlled environment if server-side-invalidation was implemented correctly?
Wismin
source share