Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Authorization is not persisting on Safari (works on Firefox, Chrome) #55

Open
blacknell opened this issue Nov 20, 2019 · 0 comments
Open

Comments

@blacknell
Copy link

Expected Behavior

I'm using the calendar quickstart and behaviour is different on Safari vs. other browsers (Chrome, Firefox).

After signing in successfully, I can see the calendar entries.
After closing the browser I expect not to have to log back in.

Actual Behavior

In Safari (MacOS and iOS), I am forced to authenticate each time the browser session expires (60 mins) or after quitting the browser.

In our web application this is causing us considerable problems because Safari is forcing the user to sign in after the session expires (60 mins).

This is resulting in considerable friction and poor user adoption. If all the user wants to do is check the calendar (via our app) then they don't need the extra steps of signing in again. This is especially tedious on a mobile device.

I researched as best I could and

  • After clearing Safari -> Preferences -> Privacy -> Manage Website Data... -> google & "mywebsite" -> Remove the problem went away for a short period.
  • On the iPhone you can't clear cookies for a subset of sites so this is unacceptable but likewise the problem reappeared on our test devices.

Also, it appears that the login authentication (perhaps) is being saved in persistent storage as when I look in Local Storage on Firefox, I see this created under https://accounts.google.com after authorisation.

oauth2_ss::http://beta.mywebsite.com::1::DEFAULT::_ss_:"{"cachedValue":{"hint":"long-gobbledigookstring","disabled":false}}"

It is created also on Safari but on Safari it doesn't persist after quitting where as on Firefox it does (as it also does on Chrome)

JavaScript Console Output

There are no errors but I added simple console.log messages in each method in to track the flow

Firefox (working as expected) after first authorising and then quitting the browser

handleClientLoad testauth.html:44:17
initClient testauth.html:52:17
initClient.then testauth.html:59:19
updateSigninStatus true testauth.html:78:17
listUpcomingEvents testauth.html:122:17

Chrome (working as expected)

testauth.html:44 handleClientLoad
testauth.html:52 initClient
testauth.html:59 initClient.then
testauth.html:78 updateSigninStatus true
testauth.html:122 listUpcomingEvents

Safari (not working)

handleClientLoad (testauth.html, line 44)
initClient (testauth.html, line 52)
initClient.then (testauth.html, line 59)
updateSigninStatus false (testauth.html, line 78)

Specifications

  • Browser (Chrome/Internet Explorer/Firefox):
    Chrome 78.0.3904.97 (Official Build) (64-bit)
    Firefox 70.0.1 (64-bit)
    Safari Version 13.0.3 (13608.3.10.10.1)
  • OS (Mac/Linux/Windows):
    Mac OS 10.13.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant