New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 651059 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

ChromeOS SSO login browser window does not store cookies for next authentication session

Reported by rto...@btboces.org, Sep 28 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36
Platform: 8530.81.0 (Official Build) stable-channel daisy_spring

Example URL:

Steps to reproduce the problem:
0. See use case below
1. Google Apps admin console: Enable SAML based SSO
2. Google Apps admin console: set "Sign in page URL" in security / SSO to point you to a page that stores a cookie in the browser. (see other comments section)
3.  in ChromeOS add person and type in a email address of a user in that google apps tenant.
4.  you should be redirected to the page entered above, it should attempt to store its cookie
5. restart ChromeOS and select add person again and enter the same or different username
6. you will be sent back to the page that attempted to store the cookie, if you inspect the cookie from the previous session will not be there.

What is the expected behavior?
Problem - cannot successfully store the cookie between login attempts in the SSO Auth browser.

Use case - Many SAML products utilize IDP finders in order to determine where to send users to authenticate.  Our IDP finder also uses this.  It is common to store a cookie that remembers the IDP selected so users do not have to select their IDP each time they are redirected for authentication in the SAML flow.  When adding a new person in ChromeOS, the browser used to authenticate the user VIA SSO does not preserve the cookie from a previous IDP selection.  I would like either the default option to be to be able to preserve cookies from those interactions, or the ability to enable that functionality.

Expected behavior - User one is redirected for auth, selects IDP.  user two is redirected for auth, IDP is already selected for them based on cookie.

I can provide a site that uses an IDP finder and sets this cookie, I just don't want to post it publicly.  Please reach out and I can provide you a "Sign in URL" to easily reproduce the issue

What went wrong?
cannot successfully store a cookie in the SSO login browser across multiple login attempts in ChromeOS

Does it occur on multiple sites: Yes

Is it a problem with a plugin? N/A 

Did this work before? No 

Does this work in other browsers? N/A 

Chrome version: 53.0.2785.116  Channel: stable
OS Version: 53.0.2785.103
Flash Version: n/a

I can provide a site that uses an IDP finder and sets this cookie, I just don't want to post it publicly.  Please reach out and I can provide you a "Sign in URL" to easily reproduce the issue
 
Components: -Blink Blink>SecurityFeature
Cc: dskaram@chromium.org
Components: UI>SignIn
dskaram@, you've been working on ChromeOS login recently - can you please route/investigate?

Owner: dskaram@chromium.org
Status: Assigned (was: Unconfirmed)
Components: -Blink>SecurityFeature
Interesting use case. Thanks for filing the bug.

What happens if the next user wants to go somewhere else? Does the IdP provide a way to go back and choose something else? Do you have a high level of sharing in your environment that students are switching Chromebooks all the time?


Would appreciate some more examples of IdP finders as that's the first time I come across this. Thanks!

Comment 5 by rto...@btboces.org, Oct 6 2016

An IDP finder (or IDP discovery service) as two primary use cases, it is common to store a cookie to remember the selection in both cases

UC1: Standard Service Provider (SP) needs to know what Identity Provider (IDP) to redirect a user to.  Google uses this on their login pages.  When you type in your email, it filters the domain in the address to determine if SSO is enabled for that domain.  It then redirects the user to the "Sign in URL" (IDP) in that domain's configuration.

UC2: SAML / Federation Proxy.  A SAML proxy (our use case) takes place in the flow after UC1.  A user is redirected to the SAML Proxy after Google's IDP Finder determines where to send the user.  In the case of a SAML proxy there are generally multiple IDP's behind it so an IDP finder (discovery) process is required again.  It is also common to store a cookie so that users do not have to make that selection every time.

The process for IDP discovery its self varies, but the one thing that exists in almost all cases is storing a cookies so the user does not have to select it every time.

In the case you mention with a user wanting to change their selection.  It is up to the IDP finder service to handle that or not.  In our case we do not have that option, because it is generally required in our use cases.  I have seen other IDP Finder services that do have a button on the login screen to go back to the selection screen to change your setting.

Our specifics:
we are a an agency that supports many k12 school districts.  Each one has their own IDP behind our proxy.  We call our IDP Finder our "District Selection Page".  We have roughly 6000 chromebooks we manage and see the adoption roughly doubling annually.  We also find that roughly %50 percent of our chrome devices are used in labs and or "mobile labs".  Meaning they push a cart full of chromebooks into a classroom and pass them out for use for the period / day/ week.  The other %50 is generally used in High School as part of a 1 to 1 initiative where each user has their own device.  All that said in our use cases chromebooks are generally shared within a district so other than in case of error users will not change the district.  If there is an edge case that requires it, we would simple reset the chrome device back to defaults or need the ability to clear the cookies somehow. 

As the product owner for our SSO service, overall the most re-occuring feedback we receive from end users is "Why do I have to select my district every time on a chromebook".  We also realize that storing local profiles (probably not the correct term) can alleviate this issue.  with many users sharing devices, the number of users to select from on the chromebook grows very quickly and becomes difficult for users or fill up to maximum.

As an aside and might be worth noting, cookies are stored in Android / IOS devices when authenticating to google accounts via SSO.  When adding a second account our cookie is preserved.

Rescources:
Two descriptions of IDP discovery services and what they do from a couple different vendors.  This applies to both UC1 and UC2.
https://documentation.pingidentity.com/display/PF610/IdP+Discovery
https://wiki.shibboleth.net/confluence/display/CONCEPT/IdPDiscovery

Reach out to me via e-mail if you would like some real world examples of UC2 (IDP Proxy with IDP finder).  I can provide both urls / public key certificates to test and reproduce.  I can also provide test user accounts if needed.


Owner: marcuskoehler@chromium.org
Labels: Hotlist-Enterprise-Identity
Components: -UI>SignIn Services>SignInSSO

Sign in to add a comment