mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
56 lines
2.9 KiB
Plaintext
56 lines
2.9 KiB
Plaintext
// Copyright 2017 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
module identity.mojom;
|
|
|
|
import "mojo/public/mojom/base/time.mojom";
|
|
import "services/identity/public/mojom/account.mojom";
|
|
import "services/identity/public/mojom/account_info.mojom";
|
|
import "services/identity/public/mojom/account_state.mojom";
|
|
import "services/identity/public/mojom/google_service_auth_error.mojom";
|
|
import "services/identity/public/mojom/scope_set.mojom";
|
|
|
|
// Gives access to information about the user's Google accounts.
|
|
interface IdentityManager {
|
|
// Returns the AccountInfo for the Google account that serves as the user's
|
|
// primary account, or null if the user has no primary account (e.g., if they
|
|
// are not signed in). |account_state| gives the current state of the account
|
|
// (relevant only if |account_info| is non-null).
|
|
GetPrimaryAccountInfo() => (AccountInfo? account_info,
|
|
AccountState account_state);
|
|
|
|
// Returns the AccountInfo for the Google account that serves as the user's
|
|
// primary account once this account is available (i.e., the user is signed
|
|
// in, a refresh token is available, and the refresh token is in a non-error
|
|
// state). |account_state| gives the current state of the account.
|
|
// Overlapping requests are permitted; all pending requests will be called
|
|
// back when the primary account is available.
|
|
GetPrimaryAccountWhenAvailable() => (AccountInfo account_info,
|
|
AccountState account_state);
|
|
|
|
// Returns the AccountInfo for the user's Google account corresponding to
|
|
// |gaia_id|, or null if the user has such corresponding account.
|
|
// |account_state| gives the current state of the account (relevant only if
|
|
// |account_info| is non-null).
|
|
GetAccountInfoFromGaiaId(string gaia_id) => (AccountInfo? account_info,
|
|
AccountState account_state);
|
|
|
|
// Returns a list of all known accounts. The primary account (if any exists)
|
|
// will be first, after which the order is undefined.
|
|
GetAccounts() => (array<Account> accounts);
|
|
|
|
// Returns an access token with the requested scopes for the given
|
|
// |account_id|, or null if it is not possible to obtain such a token (e.g.,
|
|
// because the user is not signed in with that account). |expiration_time|
|
|
// gives the time until the returned token expires. In the case of failure,
|
|
// |error| will give information detailing the reason for the failure, and
|
|
// |expiration_time| is undefined. |consumer_id| is an arbitrary string used
|
|
// to identity the consumer (e.g., in about:://signin-internals).
|
|
// NOTE: |account_id| corresponds to that used by OAuth2TokenService.
|
|
GetAccessToken(string account_id, ScopeSet scopes, string consumer_id) =>
|
|
(string? token,
|
|
mojo_base.mojom.Time expiration_time,
|
|
GoogleServiceAuthError error);
|
|
};
|