This document gives a brief description of consumer user types that can log in to a Chrome OS devices.
This does not include enterprise user types. For more information about enterprise user types, see
Regular users that were registered using their GAIA account.
Users that logged in using
In order to add a child user to the device, the user has to go through an adapted GAIA flow, which also requires their parent to authenticate.
Child users require a user policy that may, for example, control their device usage time limits. If a policy cannot be fetched, either from policy server or local cache, user login attempts will fail.
A child account can be created at https://families.google.com/signupkid/famlink-kc?e=UnicornFamily.
For internal Google instructions for creating child accounts (including test accounts), see go/unicorn-test-account-creation.
During child login, user session start will be delayed up to 10 seconds until the user‘s policies have been refreshed (using the user’s OAuth token). This might cause issues for tests that include child user login, as it may add unnecessary time to the test runtime. To avoid this, tests should:
LocalPolicyTestServerMixinto serve a policy for the test user.
UserPolicyMixinpropagates policy changes to
LocalPolicyTestServerMixinoptionally provided in its constructor.
LocalPolicyTestServer, to avoid setting user's cached policy before they ever logged in, might be more appropriate.
FakeGaiaMixinto serve the child user's auth tokens.
LoginManagerMixin, the injected
UserContexthas to have the refresh token matching the token passed to
LoggedInUserMixinis a compound helper mixin that conveniently packages the mixins mentioned above into an easy-to-use interface.
Ephemeral, anonymous users that are logged into an incognito session. The user cryptohome is mounted on tmpfs, and none of the data from the user session is persisted after the guest session ends.
To test guest session state, use
GuestSessionMixin - this will set up appropriate guest session flags.
Testing guest user login is more complicated, as guest login requires Chrome restart. The test will require two parts:
PRE_BrowserTesttest that requests login
BrowserTestthat can test guest session state
To properly set up and preserve Chrome flags between sessions runs, use
LoginManagerMixin, and set it up using