В этом справочнике описан API библиотеки JavaScript авторизации Google 3P, который можно использовать для загрузки кодов авторизации или токенов доступа от Google.
Метод: google.accounts.oauth2.initCodeClient
Метод initCodeClient
инициализирует и возвращает клиентский код с конфигурациями, указанными в параметре.
google.accounts.oauth2.initCodeClient(config: CodeClientConfig)
Тип данных: Кодеклиентконфиг.
В следующей таблице перечислены свойства типа данных CodeClientConfig
.
Характеристики | |
---|---|
client_id | Необходимый. Идентификатор клиента для вашего приложения. Это значение можно найти в консоли API. |
scope | Необходимый. Список областей, разделенных пробелами, которые определяют ресурсы, к которым ваше приложение может получить доступ от имени пользователя. Эти значения указывают на экран согласия, который Google отображает пользователю. |
include_granted_scopes | Необязательно, по умолчанию true . Позволяет приложениям использовать дополнительную авторизацию для запроса доступа к дополнительным областям в контексте. Если вы установите для этого параметра значение false и запрос на авторизацию будет предоставлен, то новый токен доступа будет охватывать только те области, для которых scope запрошена в этом CodeClientConfig . |
redirect_uri | Требуется для перенаправления UX. Определяет, куда сервер API перенаправляет пользователя после того, как пользователь завершает процесс авторизации. Значение должно точно соответствовать одному из разрешенных URI перенаправления для клиента OAuth 2.0, который вы настроили в консоли API, и должно соответствовать нашим правилам проверки URI перенаправления . Свойство будет игнорироваться всплывающим интерфейсом. |
callback | Требуется для всплывающего окна. Функция JavaScript, обрабатывающая возвращаемый ответ кода. Свойство будет игнорироваться UX перенаправления. |
state | Необязательный. Рекомендуется для перенаправления UX. Указывает любое строковое значение, которое ваше приложение использует для поддержания состояния между вашим запросом авторизации и ответом сервера авторизации. |
enable_granular_consent | Необязательно, по умолчанию true . Если установлено значение false , более детальные разрешения учетной записи Google будут отключены для идентификаторов клиентов OAuth, созданных до 2019 года. Если установлены оба параметра, enable_granular_consent и enable_serial_consent , вступит в силу только значение enable_granular_consent , а значение enable_serial_consent будет игнорироваться.Никакого эффекта для новых идентификаторов клиентов OAuth, поскольку для них всегда включены более детальные разрешения. |
enable_serial_consent | Устарело, вместо этого следует использовать enable_granular_consent . Это имеет тот же эффект, что и enable_granular_consent . Существующие приложения, использующие enable_serial_consent могут продолжать это делать, но вам рекомендуется обновить свой код, чтобы использовать enable_granular_consent в следующем обновлении приложения. |
login_hint | Необязательный. Если ваше приложение знает, какой пользователь должен авторизовать запрос, оно может использовать это свойство, чтобы предоставить Google подсказку для входа. В случае успеха выбор учетной записи пропускается. Значение подполя адреса электронной почты или токена идентификатора для целевого пользователя. Для получения дополнительной информации см. поле login_hint в документации OpenID Connect. |
hd | Необязательный. Если вашему приложению известен домен Workspace, к которому принадлежит пользователь, используйте это, чтобы предоставить подсказку Google. В случае успеха учетные записи пользователей ограничиваются или предварительно выбираются для предоставленного домена. Для получения дополнительной информации см. поле hd в документации OpenID Connect. |
ux_mode | Необязательный. Режим UX, используемый для потока авторизации. По умолчанию поток согласия откроется во всплывающем окне. Допустимые значения: popup и redirect . |
select_account | Необязательно, по умолчанию установлено значение «false» . Логическое значение, предлагающее пользователю выбрать учетную запись. |
error_callback | Необязательный. Функция JavaScript, которая обрабатывает некоторые ошибки, не связанные с OAuth, например, не открывается всплывающее окно; или закрыт до того, как будет возвращен ответ OAuth. Поле `type` входного параметра дает подробную причину.
|
Тип данных: КодКлиент
Класс имеет только один общедоступный метод requestCode, который запускает поток пользовательского интерфейса кода OAuth 2.0.
interface CodeClient {
requestCode(): void;
}
Тип данных: КодОтвет
Объект CodeResponse
JavaScript будет передан вашему методу callback
во всплывающем окне пользовательского интерфейса. В интерфейсе перенаправления CodeResponse
будет передан в качестве параметров URL.
В следующей таблице перечислены свойства типа данных CodeResponse
.
Характеристики | |
---|---|
code | Код авторизации успешного ответа токена. |
scope | Список областей, разделенных пробелами, одобренных пользователем. |
state | Строковое значение, которое ваше приложение использует для поддержания состояния между запросом авторизации и ответом. |
error | Одиночный код ошибки ASCII. |
error_description | Читаемый человеком текст ASCII, предоставляющий дополнительную информацию, которая помогает разработчику клиента понять возникшую ошибку. |
error_uri | URI, идентифицирующий удобочитаемую веб-страницу с информацией об ошибке, используемый для предоставления разработчику клиента дополнительной информации об ошибке. |
Метод: google.accounts.oauth2.initTokenClient
Метод initTokenClient
инициализирует и возвращает клиент токена с конфигурациями, указанными в параметре.
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
Тип данных: ТокенКлиентКонфиг.
В следующей таблице перечислены свойства типа данных TokenClientConfig
.
Характеристики | |
---|---|
client_id | Необходимый. Идентификатор клиента для вашего приложения. Это значение можно найти в консоли API . |
callback | Необходимый. Функция JavaScript, обрабатывающая возвращаемый ответ токена. |
scope | Необходимый. Список областей, разделенных пробелами, которые определяют ресурсы, к которым ваше приложение может получить доступ от имени пользователя. Эти значения указывают на экран согласия, который Google отображает пользователю. |
include_granted_scopes | Необязательно, по умолчанию true . Позволяет приложениям использовать дополнительную авторизацию для запроса доступа к дополнительным областям в контексте. Если вы установите для этого параметра значение false и запрос на авторизацию будет предоставлен, то новый токен доступа будет охватывать только те области, для которых scope запрошена в этом TokenClientConfig . |
prompt | Необязательно, по умолчанию — select_account . Разделенный пробелами и чувствительный к регистру список подсказок для пользователя. Возможные значения:
|
enable_granular_consent | Необязательно, по умолчанию true . Если установлено значение false , более детальные разрешения учетной записи Google будут отключены для идентификаторов клиентов OAuth, созданных до 2019 года. Если установлены оба параметра, enable_granular_consent и enable_serial_consent , вступит в силу только значение enable_granular_consent , а значение enable_serial_consent будет игнорироваться.Никакого эффекта для новых идентификаторов клиентов OAuth, поскольку для них всегда включены более детальные разрешения. |
enable_serial_consent | Устарело, вместо этого следует использовать enable_granular_consent . Это имеет тот же эффект, что и enable_granular_consent . Существующие приложения, использующие enable_serial_consent могут продолжать это делать, но вам рекомендуется обновить свой код, чтобы использовать enable_granular_consent в следующем обновлении приложения. |
login_hint | Необязательный. Если ваше приложение знает, какой пользователь должен авторизовать запрос, оно может использовать это свойство, чтобы предоставить Google подсказку для входа. В случае успеха выбор учетной записи пропускается. Значение подполя адреса электронной почты или токена идентификатора для целевого пользователя. Для получения дополнительной информации см. поле login_hint в документации OpenID Connect. |
hd | Необязательный. Если вашему приложению известен домен Workspace, к которому принадлежит пользователь, используйте это, чтобы предоставить подсказку Google. В случае успеха учетные записи пользователей ограничиваются или предварительно выбираются для предоставленного домена. Для получения дополнительной информации см. поле hd в документации OpenID Connect. |
state | Необязательный. Не рекомендуется. Указывает любое строковое значение, которое ваше приложение использует для поддержания состояния между вашим запросом авторизации и ответом сервера авторизации. |
error_callback | Необязательный. Функция JavaScript, которая обрабатывает некоторые ошибки, не связанные с OAuth, например, не открывается всплывающее окно; или закрыт до того, как будет возвращен ответ OAuth. Поле `type` входного параметра дает подробную причину.
|
Тип данных: ТокенКлиент
Класс имеет только один общедоступный метод requestAccessToken
, который запускает поток пользовательского интерфейса токена OAuth 2.0.
interface TokenClient {
requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Аргументы | ||
---|---|---|
overrideConfig | Оверридаблетокенклиентконфиг | Необязательный. Конфигурации, которые будут переопределены в этом методе. |
Тип данных: Оверридаблетокенклиентконфиг.
В следующей таблице перечислены свойства типа данных OverridableTokenClientConfig
.
Характеристики | |
---|---|
scope | Необязательный. Список областей, разделенных пробелами, которые определяют ресурсы, к которым ваше приложение может получить доступ от имени пользователя. Эти значения указывают на экран согласия, который Google отображает пользователю. |
include_granted_scopes | Необязательно, по умолчанию true . Позволяет приложениям использовать дополнительную авторизацию для запроса доступа к дополнительным областям в контексте. Если вы установите для этого параметра значение false и запрос на авторизацию будет предоставлен, то новый токен доступа будет охватывать только те области, для которых scope запрошена в этом OverridableTokenClientConfig . |
prompt | Необязательный. Разделенный пробелами и чувствительный к регистру список подсказок для пользователя. |
enable_granular_consent | Необязательно, по умолчанию true . Если установлено значение false , более детальные разрешения учетной записи Google будут отключены для идентификаторов клиентов OAuth, созданных до 2019 года. Если установлены оба параметра, enable_granular_consent и enable_serial_consent , вступит в силу только значение enable_granular_consent , а значение enable_serial_consent будет игнорироваться.Никакого эффекта для новых идентификаторов клиентов OAuth, поскольку для них всегда включены более детальные разрешения. |
enable_serial_consent | Устарело, вместо этого следует использовать enable_granular_consent . Это имеет тот же эффект, что и enable_granular_consent . Существующие приложения, использующие enable_serial_consent могут продолжать это делать, но вам рекомендуется обновить свой код, чтобы использовать enable_granular_consent в следующем обновлении приложения. |
login_hint | Необязательный. Если ваше приложение знает, какой пользователь должен авторизовать запрос, оно может использовать это свойство, чтобы предоставить Google подсказку для входа. В случае успеха выбор учетной записи пропускается. Значение подполя адреса электронной почты или токена идентификатора для целевого пользователя. Для получения дополнительной информации см. поле login_hint в документации OpenID Connect. |
state | Необязательный. Не рекомендуется. Указывает любое строковое значение, которое ваше приложение использует для поддержания состояния между вашим запросом авторизации и ответом сервера авторизации. |
Тип данных: TokenResponse
Объект JavaScript TokenResponse
будет передан вашему методу обратного вызова во всплывающем окне пользовательского интерфейса.
В следующей таблице перечислены свойства типа данных TokenResponse
.
Характеристики | |
---|---|
access_token | Токен доступа успешного ответа токена. |
expires_in | Время жизни токена доступа в секундах. |
hd | Размещенный домен, к которому принадлежит вошедший в систему пользователь. |
prompt | Значение подсказки, которое было использовано из возможного списка значений, заданных TokenClientConfig или OverridableTokenClientConfig. |
token_type | Тип выданного токена. |
scope | Список областей, разделенных пробелами, одобренных пользователем. |
state | Строковое значение, которое ваше приложение использует для поддержания состояния между запросом авторизации и ответом. |
error | Одиночный код ошибки ASCII. |
error_description | Удобочитаемый текст ASCII, предоставляющий дополнительную информацию, которая помогает разработчику клиента понять возникшую ошибку. |
error_uri | URI, идентифицирующий удобочитаемую веб-страницу с информацией об ошибке, используемый для предоставления разработчику клиента дополнительной информации об ошибке. |
Метод: google.accounts.oauth2.hasGrantedAllScopes.
Проверяет, предоставил ли пользователю всю указанную область или области.
google.accounts.oauth2.hasGrantedAllScopes(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Аргументы | ||
---|---|---|
tokenResponse | TokenResponse | Необходимый. Объект TokenResponse . |
firstScope | нить | Необходимый. Область проверки. |
restScopes | нить[] | Необязательный. Другие области для проверки. |
Возврат | |
---|---|
логическое значение | Истинно, если предоставлены все области. |
Метод: google.accounts.oauth2.hasGrantedAnyScope.
Проверяет, предоставил ли пользователь какую-либо из указанных областей или областей.
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Аргументы | ||
---|---|---|
tokenResponse | TokenResponse | Необходимый. Объект TokenResponse . |
firstScope | нить | Необходимый. Область проверки. |
restScopes | нить[] | Необязательный. Другие области для проверки. |
Возврат | |
---|---|
логическое значение | Истинно, если какая-либо из областей предоставлена. |
Метод: google.accounts.oauth2.revoke
Метод revoke
отменяет все области, предоставленные пользователем приложению. Для отзыва разрешения необходим действительный токен доступа.
google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Аргументы | ||
---|---|---|
accessToken | нить | Необходимый. Действительный токен доступа. |
callback | функция | Необязательный. Обработчик ответа на отзыв . |
Тип данных: отзывответ
В ваш метод обратного вызова будет передан объект JavaScript RevocationResponse
.
В следующей таблице перечислены свойства типа данных RevocationResponse
.
Характеристики | |
---|---|
successful | Логическое значение. true в случае успеха, false в случае неудачи. |
error | Нить. Неопределенный успех. Одиночный код ошибки ASCII. Сюда входят, помимо прочего , стандартные коды ошибок OAuth 2.0 . Распространенные ошибки метода revoke :
|
error_description | Нить. Неопределенный успех. Читаемый человеком текст ASCII предоставляет дополнительную информацию о свойстве error . Разработчики могут использовать это, чтобы лучше понять возникшую ошибку. Строка error_description представлена только на английском языке. Для распространенных ошибок, перечисленных в error соответствующее error_description :
|