Comment #29 on issue 25755 by [email protected]: Gmail automatically  
logging out Chrome users
http://code.google.com/p/chromium/issues/detail?id=25755

Update on what I have found so far.

No resolution yet, but I have a working theory on the circumstances of the  
bug.

--------------------------------------------
First some background on what (I believe) Gmail is doing:
--------------------------------------------

When you sign into the gmail account a cookie identifying the signed on  
user is set for the session.

Next, when you request the main gmail page, this sign-on cookie is sent up  
to the server, to indicate who the user is.
In response, the server sends back the main HTML page.
Furthermore, it embeds a token into this HTML page that identifies who the  
signed in user was.
This token is some cyptographic hash of the user's identity.
(It is is a 10 character alphanumeric string written to the GLOBALS array  
literal at index 9 -- look for var GLOBALS on the page).
So now when the gmail application issues AJAX requests (generally to load  
other modules javascript), it appends this token to the query parameters.

On the server side, they check to see that the user identified by the  
signon cookie (which was automatically sent in the HTTP request header)  
matches the user identified by the query parameter token.

If they do not match, then it spews the error message we see above, and  
invalidates the signon cookie, taking you back to the signon page.

--------------------------------------------
Theory on what the circumstances of this bug are
--------------------------------------------

Sign in to gmail as user A.
This sets cookie for user A, and caches the main page that embeds the user  
token for A.
Sign out of user A.

Sign in to gmail as user B.
This sets the cookie for user B.
Now the problem:
    If for some reason, we incorrectly return the cached main page from A,  
then we will end up with a mismatch between the user token, and the signon  
cookie.

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to