• Anastasiia Nikolaienko's avatar
    Fix Mirror cookie validity mismatch · e6c048fd
    Anastasiia Nikolaienko authored
    In certain cases, Gaia's /ListAccounts APIs claims accounts to be in a
    valid state when they are actually invalid. This causes issues with
    account reconciliation because |AccountReconcilor| uses /ListAccounts as
    the source of truth and is unable to detect this state.
    In this state, certain Google properties like Gmail for example send a
    Mirror re-authentication header for the offending account. However, even
    after the user re-authenticates the account, account reconciliation ends
    up being a no-op because the reconcilor thinks that the user's cookies
    are valid and there is nothing to reconcile.
    
    Fix this by storing the accounts for which we receive Mirror re-
    authentication headers from Gaia and calling LogOutAllAccounts to
    remint cookie when tokens for these accounts are updated.
    Please check the attached bug for more context.
    
    Note: This is a temporary client-side fix until Gaia fixes its
    /ListAccounts API.
    
    Bug: 1012649
    Change-Id: I797a049d59fe32ea406cf9ddbbbaa94bc2b57b6a
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1871591
    Commit-Queue: Anastasiia Nikolaienko <anastasiian@chromium.org>
    Reviewed-by: default avatarDavid Roger <droger@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#713402}
    e6c048fd
chrome_signin_helper.cc 21.4 KB