Spec-Zone.ru › AWS CLI v2

[ aws . cognito-idp ]

обновить-клиента-пула-пользователей

Описание

Учитывая идентификатор клиента приложения пула пользователей, обновляет конфигурацию. Чтобы избежать установки параметров по умолчанию Amazon Cognito, постройте этот API-запрос, чтобы передать существующую конфигурацию вашего клиента приложения, изменённую для включения изменений, которые вы хотите внести.

Предупреждение

Если вы не предоставите значение для атрибута, Amazon Cognito установит его по умолчанию.

В отличие от клиентов приложений, созданных в консоли, Amazon Cognito не автоматически назначает стиль брендинга клиентам приложений, которые вы настраиваете с помощью этого API-оператора. Управляемые логины и классические страницы размещённого пользовательского интерфейса недоступны для вашего клиента, пока вы не примените стиль брендинга.

Примечание

Amazon Cognito оценивает политики управления идентификацией и доступом (IAM) в запросах для этой API-операции. Для этой операции необходимо использовать учетные данные IAM для авторизации запросов и предоставить себе соответствующее разрешение IAM в политике.

Узнать больше
  • Подписание запросов к API Amazon Web Services
  • Использование API пулов пользователей Amazon Cognito и конечных точек пулов пользователей

См. также: Документация API AWS

Синопсис

  update-user-pool-client
--user-pool-id <value>
--client-id <value>
[--client-name <value>]
[--refresh-token-validity <value>]
[--access-token-validity <value>]
[--id-token-validity <value>]
[--token-validity-units <value>]
[--read-attributes <value>]
[--write-attributes <value>]
[--explicit-auth-flows <value>]
[--supported-identity-providers <value>]
[--callback-urls <value>]
[--logout-urls <value>]
[--default-redirect-uri <value>]
[--allowed-o-auth-flows <value>]
[--allowed-o-auth-scopes <value>]
[--allowed-o-auth-flows-user-pool-client | --no-allowed-o-auth-flows-user-pool-client]
[--analytics-configuration <value>]
[--prevent-user-existence-errors <value>]
[--enable-token-revocation | --no-enable-token-revocation]
[--enable-propagate-additional-user-context-data | --no-enable-propagate-additional-user-context-data]
[--auth-session-validity <value>]
[--refresh-token-rotation <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--user-pool-id (строка)

Идентификатор пользовательского пула, в котором вы хотите обновить клиент приложения.

--client-id (строка)

Идентификатор клиента приложения, который вы хотите обновить.

--client-name (строка)

Наименование клиента приложения.

--refresh-token-validity (целое число)

Срок действия токена обновления. По истечении этого срока пользователь не сможет использовать свой токен обновления. Чтобы указать единицу времени для RefreshTokenValidity как seconds , minutes , hours или days , установите значение TokenValidityUnits в запросе к API.

Например, при установке RefreshTokenValidity как 10 и TokenValidityUnits как days , пользователь сможет обновить свою сессию и получить новые токены доступа и идентификатора на 10 дней.

По умолчанию единицей измерения RefreshTokenValidity в запросе к API являются дни. Нельзя установить RefreshTokenValidity равным 0. В этом случае Amazon Cognito перезапишет значение на значение по умолчанию 30 дней. Допустимый диапазон показан ниже в секундах.

Если вы не укажете иное в настройках клиента приложения, токены обновления действительны в течение 30 дней.

--access-token-validity (целое число)

Срок действия токена доступа. По истечении этого срока пользователь не сможет использовать свой токен доступа. Чтобы указать единицу времени для AccessTokenValidity как seconds , minutes , hours или days , установите значение TokenValidityUnits в запросе к API.

Например, при установке AccessTokenValidity на 10 и TokenValidityUnits на hours , пользователь сможет авторизовать доступ с помощью токена доступа на 10 часов.

По умолчанию единицей измерения AccessTokenValidity в запросе к API являются часы. Допустимый диапазон показан ниже в секундах.

Если вы не укажете иное в настройках клиента приложения, токены доступа действительны в течение одного часа.

--id-token-validity (целое число)

Срок действия токена идентификации. По истечении этого срока пользователь не сможет использовать свой токен идентификации. Чтобы указать единицу времени для IdTokenValidity как seconds , minutes , hours или days , установите значение TokenValidityUnits в запросе к API.

Например, при установке IdTokenValidity как 10 и TokenValidityUnits как hours , пользователь сможет аутентифицировать свою сессию с помощью токена идентификации на 10 часов.

По умолчанию единицей измерения IdTokenValidity в запросе к API являются часы. Допустимый диапазон показан ниже в секундах.

Если вы не укажете иное в настройках клиента приложения, токены идентификации действительны в течение одного часа.

--token-validity-units (структура)

Единицы измерения срока действия. По умолчанию для токенов обновления используется дни, а для токенов идентификации и доступа — часы.

AccessToken -> (строка)

Единица измерения для значения, которое вы задали в параметре AccessTokenValidity. По умолчанию единица измерения AccessTokenValidity — hours. Продолжительность AccessTokenValidity может варьироваться от пяти минут до одного дня.

IdToken -> (строка)

Единица измерения для значения, которое вы задали в параметре IdTokenValidity. По умолчанию единица измерения IdTokenValidity — hours. Продолжительность IdTokenValidity может варьироваться от пяти минут до одного дня.

RefreshToken -> (строка)

Единица измерения для значения, которое вы задали в параметре RefreshTokenValidity. По умолчанию единица измерения RefreshTokenValidity — days. Продолжительность RefreshTokenValidity может варьироваться от 60 минут до 10 лет.

Сокращенная синтаксис:

AccessToken=string,IdToken=string,RefreshToken=string

Синтаксис JSON:

{
  "AccessToken": "seconds"|"minutes"|"hours"|"days",
  "IdToken": "seconds"|"minutes"|"hours"|"days",
  "RefreshToken": "seconds"|"minutes"|"hours"|"days"
}

--read-attributes (список)

Список атрибутов пользователя, к которым клиент приложения должен иметь доступ для чтения. После аутентификации пользователя в приложении его токен доступа предоставляет право на чтение собственных атрибутов для любого атрибута в этом списке.

Если вы не укажете ReadAttributes для клиента приложения, приложение может читать значения email_verified , phone_number_verified и стандартные атрибуты вашего пользовательского пула. Если клиент приложения имеет доступ для чтения к этим атрибутам по умолчанию, ReadAttributes не возвращает никакой информации. Amazon Cognito заполняет ReadAttributes в ответе API только в том случае, если вы указали собственный набор настраиваемых атрибутов для чтения.

(строка)

Синтаксис:

"string" "string" ...

--write-attributes (список)

Список атрибутов пользователя, к которым клиент приложения должен иметь доступ для записи. После аутентификации пользователя в приложении его токен доступа предоставляет право на установку или изменение собственных значений атрибутов для любого атрибута в этом списке.

Если вы не укажете WriteAttributes для клиента приложения, приложение может записывать значения стандартных атрибутов вашего пользовательского пула. Если клиент приложения имеет доступ для записи к этим атрибутам по умолчанию, WriteAttributes не возвращает никакой информации. Amazon Cognito заполняет WriteAttributes в ответе API только в том случае, если вы указали собственный набор настраиваемых атрибутов для записи.

Если ваш клиент приложения позволяет пользователям входить через IdP, этот массив должен включать все атрибуты, которые вы сопоставили с атрибутами IdP. Amazon Cognito обновляет сопоставленные атрибуты при входе пользователей в ваше приложение через IdP. Если клиент приложения не имеет доступа для записи к сопоставленному атрибуту, Amazon Cognito выдаст ошибку при попытке обновить атрибут. Дополнительную информацию см. в разделе Спецификация сопоставления атрибутов IdP для вашего пользовательского пула.

(строка)

Синтаксис:

"string" "string" ...

--explicit-auth-flows (список)

Типы аутентификации, которые должен поддерживать клиент пользовательского пула. Для каждого клиента приложения в вашем пользовательском пуле вы можете войти в систему с любым сочетанием одного или нескольких типов, включая имя пользователя и защищенный удаленный пароль (SRP), имя пользователя и пароль или пользовательский процесс аутентификации, который вы определяете с помощью функций Lambda.

Примечание

Если вы не укажете значение для ExplicitAuthFlows , ваш клиент приложения поддерживает ALLOW_REFRESH_TOKEN_AUTH , ALLOW_USER_SRP_AUTH и ALLOW_CUSTOM_AUTH .

Значения параметров типов аутентификации включают следующее.

  • ALLOW_USER_AUTH : Включить вход по выбору с помощью USER_AUTH. Это значение включает аутентификацию по имени пользователя и паролю, защищенному удаленному паролю (SRP), без пароля и с помощью ключа. Этот тип аутентификации может выполнять аутентификацию по имени пользователя и паролю и SRP без других ExplicitAuthFlows , разрешающих их. Например, пользователи могут завершить вызов SRP через USER_AUTH, не активируя для клиента приложения поток USER_SRP_AUTH. Этот тип аутентификации не включает CUSTOM_AUTH. Для активации этого параметра пользовательский пул должен быть уровня Essentials или выше.
  • ALLOW_ADMIN_USER_PASSWORD_AUTH : Включить поток аутентификации администратора на основе пароля пользователя ADMIN_USER_PASSWORD_AUTH. Это значение заменяет значение ADMIN_NO_SRP_AUTH. При этом типе аутентификации приложение передает имя пользователя и пароль Amazon Cognito в запросе вместо использования протокола защищенного удаленного пароля (SRP) для безопасной передачи пароля.
  • ALLOW_CUSTOM_AUTH : Включить аутентификацию, управляемую триггером Lambda.
  • ALLOW_USER_PASSWORD_AUTH : Включить аутентификацию на основе пароля пользователя. В этом типе аутентификации Amazon Cognito получает пароль в запросе вместо использования протокола SRP для проверки паролей.
  • ALLOW_USER_SRP_AUTH : Включить аутентификацию на основе SRP.
  • ALLOW_REFRESH_TOKEN_AUTH : Включить поток аутентификации для обновления токенов.

В некоторых средах вы увидите значения ADMIN_NO_SRP_AUTH , CUSTOM_AUTH_FLOW_ONLY или USER_PASSWORD_AUTH. Вы не можете назначать эти устаревшие ExplicitAuthFlows значения клиентам пользовательского пула одновременно со значениями, начинающимися с ALLOW_ , такими как ALLOW_USER_SRP_AUTH.

(строка)

Синтаксис:

"string" "string" ...

Where valid values are:
  ADMIN_NO_SRP_AUTH
  CUSTOM_AUTH_FLOW_ONLY
  USER_PASSWORD_AUTH
  ALLOW_ADMIN_USER_PASSWORD_AUTH
  ALLOW_CUSTOM_AUTH
  ALLOW_USER_PASSWORD_AUTH
  ALLOW_USER_SRP_AUTH
  ALLOW_REFRESH_TOKEN_AUTH
  ALLOW_USER_AUTH

--supported-identity-providers (список)

Список имен поставщиков для поставщиков удостоверений (IdP), поддерживаемых этим клиентом. Поддерживаются следующие: COGNITO , Facebook , Google , SignInWithApple и LoginWithAmazon . Вы также можете указать имена, которые вы настроили для IdP SAML и OIDC в вашем пользовательском пуле, например MySAMLIdP или MyOIDCIdP .

Этот параметр задаёт IdP, которые будут отображаться на странице входа для вашего клиента приложения в режиме управляемого входа. Удаление COGNITO из этого списка не препятствует операциям аутентификации для локальных пользователей с помощью API пользовательских пулов в Amazon Web Services SDK. Единственный способ предотвратить аутентификацию на основе SDK — заблокировать доступ с помощью правила WAF.

(строка)

Синтаксис:

"string" "string" ...

--callback-urls (список)

Список разрешенных URL-адресов перенаправления или обратного вызова для аутентификации с помощью управляемого входа. Эти URL-адреса — пути, куда вы хотите перенаправить браузеры пользователей после завершения аутентификации с помощью управляемого входа или стороннего IdP. Обычно URL-адреса обратного вызова — это адрес приложения, использующего библиотеки OAuth или OIDC для обработки результатов аутентификации.

URL-адрес перенаправления должен соответствовать следующим требованиям:

  • Быть абсолютным URL-адресом.
  • Быть зарегистрированным в сервере авторизации. Amazon Cognito не принимает запросы авторизации с redirect_uri значениями, которые отсутствуют в списке CallbackURLs, который вы предоставили в этом параметре.
  • Не содержать фрагмент.

См. раздел OAuth 2.0 - Точка входа перенаправления.

Amazon Cognito требует HTTPS через HTTP, за исключением http://localhost для целей тестирования.

Также поддерживаются URL-адреса обратного вызова приложения, такие как myapp://example.

(строка)

Синтаксис:

"string" "string" ...

--logout-urls (список)

Список разрешенных URL-адресов выхода для аутентификации с помощью управляемого входа. При передаче параметров logout_uri и client_id в /logout Amazon Cognito выводит пользователя из системы и перенаправляет его на URL-адрес выхода. Этот параметр описывает URL-адреса, которые должны быть разрешенными целевыми адресами logout_uri. Типичное использование этих URL-адресов — когда пользователь выбирает «Выйти», и вы перенаправляете его на вашу главную страницу. Дополнительную информацию см. в разделе Точка входа выхода.

(строка)

Синтаксис:

"string" "string" ...

--default-redirect-uri (строка)

Значение URI перенаправления по умолчанию. В клиентах приложения с одним назначенным IdP заменяет redirect_uri в запросах аутентификации. Должно быть в списке CallbackURLs.

--allowed-o-auth-flows (список)

Типы OAuth-разрешений, которые вы хотите, чтобы ваш клиент приложения генерировал. Чтобы создать клиент приложения, генерирующий разрешения для учетных данных клиента, необходимо добавить client_credentials как единственный разрешённый OAuth-поток.

code

Используйте поток с кодом авторизации, который предоставляет код авторизации в ответ. Этот код может быть обменён на токены доступа с помощью конечной точки /oauth2/token.

implicit

Непосредственно выдайте токен доступа (и, необязательно, токен идентификации, в зависимости от областей) вашему пользователю.

client_credentials

Выдайте токен доступа с конечной точки /oauth2/token непосредственно нефизическому пользователю с помощью сочетания идентификатора клиента и секрета клиента.

(строка)

Синтаксис:

"string" "string" ...

Where valid values are:
  code
  implicit
  client_credentials

--allowed-o-auth-scopes (список)

OAuth, OpenID Connect (OIDC) и пользовательские области, которые вы хотите разрешить своему клиенту приложения для авторизации доступа. Области управляют контролем доступа к операциям самообслуживания API пользовательского пула, данным пользователя с конечной точки userInfo и сторонним API. Значения областей включают phone , email , openid и profile . Область aws.cognito.signin.user.admin авторизует операции самообслуживания пользователя. Пользовательские области с серверами ресурсов авторизуют доступ к внешним API.

(строка)

Синтаксис:

"string" "string" ...

--allowed-o-auth-flows-user-pool-client | --no-allowed-o-auth-flows-user-pool-client (булево)

Установите значение true, чтобы использовать функции сервера авторизации OAuth 2.0 в вашем клиенте приложения.

Этот параметр должен иметь значение true, прежде чем вы сможете настроить следующие функции в своём клиенте приложения.

  • CallBackURLs : URL-адреса обратного вызова.
  • LogoutURLs : URL-адреса перенаправления при выходе.
  • AllowedOAuthScopes : Области OAuth 2.0.
  • AllowedOAuthFlows : Поддержка OAuth 2.0 потоков авторизации, неявного и учетных данных клиента.

Для использования функций сервера авторизации настройте одну из этих функций в консоли Amazon Cognito или установите значение AllowedOAuthFlowsUserPoolClient в true в запросе API CreateUserPoolClient или UpdateUserPoolClient. Если вы не установите значение для AllowedOAuthFlowsUserPoolClient в запросе с помощью командной строки или SDK, оно будет установлено по умолчанию в false. При значении false разрешено только вход в систему через SDK.

--analytics-configuration (структура)

Настройка аналитики пользовательского пула для сбора метрик и отправки их в вашу кампанию Amazon Pinpoint.

В регионах Amazon Web Services, где Amazon Pinpoint недоступен, пользовательские пулы могут не иметь доступа к аналитике или могут быть настроены с кампаниями в регионе США Восточный (Северная Вирджиния). Дополнительные сведения см. в разделе Использование аналитики Amazon Pinpoint.

ApplicationId -> (строка)

Идентификатор проекта Amazon Pinpoint.

ApplicationArn -> (строка)

Идентификатор ресурса Amazon Pinpoint (ARN) проекта Amazon Pinpoint, который вы хотите подключить к вашему клиенту приложения пользовательского пула. Amazon Cognito публикует события в проект Amazon Pinpoint, который ApplicationArn объявляет. Вы также можете настроить своё приложение так, чтобы оно передавало идентификатор конечной точки в параметр AnalyticsMetadata операций входа в систему. Идентификатор конечной точки — информация о пункте назначения для push-уведомлений.

RoleArn -> (строка)

ARN роли Identity and Access Management, у которой есть разрешения, необходимые для Amazon Cognito для публикации событий в Amazon Pinpoint аналитике.

ExternalId -> (строка)

Внешний идентификатор роли, которую Amazon Cognito использует для отправки данных аналитики в Amazon Pinpoint.

UserDataShared -> (булево)

Если UserDataShared имеет значение true, Amazon Cognito включает данные пользователя в события, которые публикуются в аналитику Amazon Pinpoint.

Краткая форма синтаксиса:

ApplicationId=string,ApplicationArn=string,RoleArn=string,ExternalId=string,UserDataShared=boolean

Синтаксис JSON:

{
  "ApplicationId": "string",
  "ApplicationArn": "string",
  "RoleArn": "string",
  "ExternalId": "string",
  "UserDataShared": true|false
}

--prevent-user-existence-errors (строка)

При значении ENABLED подавляются сообщения, которые могут указывать на существование действительного пользователя, когда кто-то пытается войти в систему. Этот параметр задаёт ваши предпочтения для ошибок и ответов, которые API Amazon Cognito должны возвращать во время аутентификации, подтверждения учетной записи и восстановления пароля, когда пользователь не существует в пользовательском пуле. Если параметр имеет значение ENABLED и пользователь не существует, аутентификация возвращает ошибку, указывающую, что имя пользователя или пароль неверны. Подтверждение учетной записи и восстановление пароля возвращают ответ, указывающий, что код был отправлен на симулированный адрес. Если параметр имеет значение LEGACY, эти API возвращают исключение UserNotFoundException, если пользователь не существует в пользовательском пуле.

По умолчанию значение LEGACY.

Возможные значения:

  • LEGACY
  • ENABLED

--enable-token-revocation | --no-enable-token-revocation (булево)

Активирует или деактивирует аннулирование токенов в целевом клиенте приложения.

--enable-propagate-additional-user-context-data | --no-enable-propagate-additional-user-context-data (булево)

При значении true ваше приложение может включать дополнительные UserContextData в запросы аутентификации. Эти данные включают IP-адрес и способствуют анализу функциями защиты от угроз. Дополнительные сведения о распространении данных контекста пользователя см. в разделе Добавление данных сеанса в запросы API. Если вы не включите этот параметр, вы не сможете отправлять исходный IP-адрес в функции защиты от угроз Amazon Cognito. EnablePropagateAdditionalUserContextData может быть активировано только в клиенте приложения, имеющем секрет клиента.

--auth-session-validity (целое число)

Amazon Cognito создаёт токен сеанса для каждого запроса API в потоке аутентификации. AuthSessionValidity — продолжительность срока действия этого токена сеанса в минутах. Ваш пользователь должен ответить на каждый вызов аутентификации до истечения срока действия сеанса.

--refresh-token-rotation (структура)

Настройка вашего клиента приложения для вращения токенов обновления. При включении клиент приложения выдаёт новые токены идентификации, доступа и обновления, когда пользователи обновляют свои сеансы с помощью токенов обновления. При отключении обновление токенов выдаёт только токены идентификации и доступа.

Feature -> (строка)

Состояние вращения токенов обновления для текущего клиента приложения.

RetryGracePeriodSeconds -> (целое число)

При запросе обновления токена с GetTokensFromRefreshToken исходный токен обновления, который вы обновляете, может оставаться действительным в течение периода до 60 секунд. Это позволяет клиенту выполнять повторные попытки. Если RetryGracePeriodSeconds имеет значение 0, период ожидания отменён и успешный запрос сразу же аннулирует отправленный токен обновления.

Краткая форма синтаксиса:

Feature=string,RetryGracePeriodSeconds=integer

Синтаксис JSON:

{
  "Feature": "ENABLED"|"DISABLED",
  "RetryGracePeriodSeconds": integer
}

--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной строки JSON. Строка JSON соответствует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения, используя предоставленное значение JSON, так как строка будет воспринята буквально. Это может быть не указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод, не отправляя запрос API. Если предоставлено значение без значения или со значением input, выводится пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено значение yaml-input, выводится пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, он проверяет входные данные команд и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет не стабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.

Общие параметры

--debug (boolean)

Включить отладку логов.

--endpoint-url (string)

Переопределить URL по умолчанию команды заданным URL.

--no-verify-ssl (boolean)

По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.

--no-paginate (boolean)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (string)

Стиль форматирования вывода команд.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

Запрос JMESPath для фильтрации данных ответа.

--profile (string)

Использовать определённый профиль из файла учетных данных.

--region (string)

Регион для использования. Переопределяет настройки из конфигурации/среды.

--version (string)

Показать версию этого инструмента.

--color (string)

Включить/выключить цветной вывод.

  • on
  • off
  • auto

--no-sign-request (boolean)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.

--ca-bundle (string)

Файл с корневым сертификатом для проверки SSL-сертификатов. Переопределяет настройки из конфигурации/среды.

--cli-read-timeout (int)

Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-connect-timeout (int)

Максимальное время подключения сокета в секундах. Если значение равно 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию — 60 секунд.

--cli-binary-format (string)

Стиль форматирования для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла напрямую независимо от настроек cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для настроенного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Отключить пейджер для вывода.

--cli-auto-prompt (boolean)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (boolean)

Отключить автоматическое запросы параметров ввода CLI.

Примеры

Примечание

Чтобы использовать следующие примеры, необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования для Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.

Для обновления клиента приложения

Следующий update-user-pool-client пример обновляет конфигурацию запрошенного клиента приложения.

aws cognito-idp update-user-pool-client \
    --user-pool-id us-west-2_EXAMPLE \
    --client-id 1example23456789 \
    --client-name my-test-app \
    --refresh-token-validity 30 \
    --access-token-validity 60 \
    --id-token-validity 60 \
    --token-validity-units AccessToken=minutes,IdToken=minutes,RefreshToken=days \
    --read-attributes "address" "birthdate" "email" "email_verified" "family_name" "gender" "locale" "middle_name" "name" "nickname" "phone_number" "phone_number_verified" "picture" "preferred_username" "profile" "updated_at" "website" "zoneinfo" \
    --write-attributes "address" "birthdate" "email" "family_name" "gender" "locale" "middle_name" "name" "nickname" "phone_number" "picture" "preferred_username" "profile" "updated_at" "website" "zoneinfo" \
    --explicit-auth-flows "ALLOW_ADMIN_USER_PASSWORD_AUTH" "ALLOW_CUSTOM_AUTH" "ALLOW_REFRESH_TOKEN_AUTH" "ALLOW_USER_PASSWORD_AUTH" "ALLOW_USER_SRP_AUTH" \
    --supported-identity-providers "MySAML" "COGNITO" "Google" \
    --callback-urls "https://www.example.com" "https://app2.example.com" \
    --logout-urls "https://auth.example.com/login?client_id=1example23456789&response_type=code&redirect_uri=https%3A%2F%2Fwww.example.com" "https://example.com/logout" \
    --default-redirect-uri "https://www.example.com" \
    --allowed-o-auth-flows "code" "implicit" \
    --allowed-o-auth-scopes "openid" "profile" "aws.cognito.signin.user.admin" \
    --allowed-o-auth-flows-user-pool-client \
    --prevent-user-existence-errors ENABLED \
    --enable-token-revocation \
    --no-enable-propagate-additional-user-context-data \
    --auth-session-validity 3

Вывод:

{
    "UserPoolClient": {
        "UserPoolId": "us-west-2_EXAMPLE",
        "ClientName": "my-test-app",
        "ClientId": "1example23456789",
        "LastModifiedDate": "2025-01-31T14:40:12.498000-08:00",
        "CreationDate": "2023-09-13T16:26:34.408000-07:00",
        "RefreshTokenValidity": 30,
        "AccessTokenValidity": 60,
        "IdTokenValidity": 60,
        "TokenValidityUnits": {
            "AccessToken": "minutes",
            "IdToken": "minutes",
            "RefreshToken": "days"
        },
        "ReadAttributes": [
            "website",
            "zoneinfo",
            "address",
            "birthdate",
            "email_verified",
            "gender",
            "profile",
            "phone_number_verified",
            "preferred_username",
            "locale",
            "middle_name",
            "picture",
            "updated_at",
            "name",
            "nickname",
            "phone_number",
            "family_name",
            "email"
        ],
        "WriteAttributes": [
            "website",
            "zoneinfo",
            "address",
            "birthdate",
            "gender",
            "profile",
            "preferred_username",
            "locale",
            "middle_name",
            "picture",
            "updated_at",
            "name",
            "nickname",
            "phone_number",
            "family_name",
            "email"
        ],
        "ExplicitAuthFlows": [
            "ALLOW_CUSTOM_AUTH",
            "ALLOW_USER_PASSWORD_AUTH",
            "ALLOW_ADMIN_USER_PASSWORD_AUTH",
            "ALLOW_USER_SRP_AUTH",
            "ALLOW_REFRESH_TOKEN_AUTH"
        ],
        "SupportedIdentityProviders": [
            "Google",
            "COGNITO",
            "MySAML"
        ],
        "CallbackURLs": [
            "https://www.example.com",
            "https://app2.example.com"
        ],
        "LogoutURLs": [
            "https://example.com/logout",
            "https://auth.example.com/login?client_id=1example23456789&response_type=code&redirect_uri=https%3A%2F%2Fwww.example.com"
        ],
        "DefaultRedirectURI": "https://www.example.com",
        "AllowedOAuthFlows": [
            "implicit",
            "code"
        ],
        "AllowedOAuthScopes": [
            "aws.cognito.signin.user.admin",
            "openid",
            "profile"
        ],
        "AllowedOAuthFlowsUserPoolClient": true,
        "PreventUserExistenceErrors": "ENABLED",
        "EnableTokenRevocation": true,
        "EnablePropagateAdditionalUserContextData": false,
        "AuthSessionValidity": 3
    }
}

Дополнительную информацию см. в разделе Параметры, специфичные для приложения, с клиентами приложений в Руководстве разработчика Amazon Cognito.

Вывод

UserPoolClient -> (структура)

Обновленные данные вашего клиента приложения.

UserPoolId -> (строка)

Идентификатор пула пользователей, связанного с клиентом приложения.

ClientName -> (строка)

Имя клиента приложения.

ClientId -> (строка)

Идентификатор клиента приложения.

ClientSecret -> (строка)

Секрет клиента приложения.

LastModifiedDate -> (метка времени)

Дата и время изменения элемента. Amazon Cognito возвращает эту метку времени в формате эпохи Unix. Ваш SDK может отобразить вывод в удобочитаемом формате, например, ISO 8601 или Java Date объект.

CreationDate -> (метка времени)

Дата и время создания элемента. Amazon Cognito возвращает эту метку времени в формате эпохи Unix. Ваш SDK может отобразить вывод в удобочитаемом формате, например, ISO 8601 или Java Date объект.

RefreshTokenValidity -> (целое число)

Срок действия токена обновления. После истечения этого срока ваш пользователь не сможет использовать свой токен обновления. Чтобы указать единицу измерения для RefreshTokenValidity как seconds , minutes , hours или days , установите значение TokenValidityUnits в запросе API.

Например, при установке RefreshTokenValidity как 10 и TokenValidityUnits как days, ваш пользователь может обновить свою сессию и получить новые токены доступа и идентификации в течение 10 дней.

По умолчанию единицей измерения для RefreshTokenValidity в запросе API являются дни. Вы не можете установить RefreshTokenValidity в 0. В этом случае Amazon Cognito переопределяет значение на значение по умолчанию в 30 дней. Диапазон допустимых значений показан ниже во секундах.

Если вы не укажете иное в настройках своего клиента приложения, токены обновления действительны в течение 30 дней.

AccessTokenValidity -> (целое число)

Срок действия токена доступа. После истечения этого срока ваш пользователь не сможет использовать свой токен доступа. Чтобы указать единицу измерения для AccessTokenValidity как seconds , minutes , hours или days , установите значение TokenValidityUnits в запросе API.

Например, при установке AccessTokenValidity на 10 и TokenValidityUnits на hours, ваш пользователь может авторизовать доступ с помощью своего токена доступа в течение 10 часов.

По умолчанию единицей измерения для AccessTokenValidity в запросе API являются часы. Диапазон допустимых значений показан ниже во секундах.

Если вы не укажете иное в настройках своего клиента приложения, токены доступа действительны в течение одного часа.

IdTokenValidity -> (целое число)

Срок действия токена идентификации. После истечения этого срока ваш пользователь не сможет использовать свой токен идентификации. Чтобы указать единицу измерения для IdTokenValidity как seconds , minutes , hours или days , установите значение TokenValidityUnits в запросе API.

Например, при установке IdTokenValidity как 10 и TokenValidityUnits как hours, ваш пользователь может аутентифицировать свою сессию с помощью своего токена идентификации в течение 10 часов.

По умолчанию единицей измерения для IdTokenValidity в запросе API являются часы. Диапазон допустимых значений показан ниже во секундах.

Если вы не укажете иное в настройках своего клиента приложения, токены идентификации действительны в течение одного часа.

TokenValidityUnits -> (структура)

Единицы измерения времени, которые, вместе с IdTokenValidity , AccessTokenValidity и RefreshTokenValidity, устанавливают и отображают продолжительность токенов идентификации, доступа и обновления для клиента приложения. Вы можете назначить отдельную единицу измерения срока действия для каждого типа токена.

AccessToken -> (строка)

Единица измерения времени для значения, которое вы установили в параметре AccessTokenValidity. По умолчанию единицей измерения времени AccessTokenValidity является hours. Продолжительность AccessTokenValidity может варьироваться от пяти минут до одного дня.

IdToken -> (строка)

Единица измерения времени для значения, которое вы установили в параметре IdTokenValidity. По умолчанию единицей измерения времени IdTokenValidity является hours. Продолжительность IdTokenValidity может варьироваться от пяти минут до одного дня.

RefreshToken -> (строка)

Единица измерения времени для значения, которое вы установили в параметре RefreshTokenValidity. По умолчанию единицей измерения времени RefreshTokenValidity является days. Продолжительность RefreshTokenValidity может варьироваться от 60 минут до 10 лет.

ReadAttributes -> (список)

Список атрибутов пользователей, к которым ваш клиент приложения должен иметь доступ для чтения. После аутентификации пользователя в вашем приложении, его токен доступа авторизует его для чтения собственного значения атрибута для любого атрибута в этом списке.

Если вы не указываете ReadAttributes для своего клиента приложения, ваше приложение может читать значения email_verified , phone_number_verified и стандартных атрибутов вашего пула пользователей. Когда клиент приложения вашего пула пользователей имеет доступ для чтения к этим атрибутам по умолчанию, ReadAttributes не возвращает никакой информации. Amazon Cognito заполняет ReadAttributes в ответе API только в том случае, если вы указали свой собственный набор настраиваемых атрибутов для чтения.

(строка)

WriteAttributes -> (список)

Список атрибутов пользователей, к которым ваш клиент приложения должен иметь доступ для записи. После аутентификации пользователя в вашем приложении, его токен доступа авторизует его для установки или изменения собственного значения атрибута для любого атрибута в этом списке.

Если вы не указываете WriteAttributes для своего клиента приложения, ваше приложение может записывать значения стандартных атрибутов вашего пула пользователей. Когда ваш пул пользователей имеет доступ для записи к этим атрибутам по умолчанию, WriteAttributes не возвращает никакой информации. Amazon Cognito заполняет WriteAttributes в ответе API только в том случае, если вы указали свой собственный набор настраиваемых атрибутов для записи.

Если ваш клиент приложения позволяет пользователям входить через IdP, этот массив должен включать все атрибуты, которые вы отобразили на атрибуты IdP. Amazon Cognito обновляет сопоставленные атрибуты, когда пользователи входят в ваше приложение через IdP. Если ваш клиент приложения не имеет доступа для записи к сопоставленному атрибуту, Amazon Cognito возвращает ошибку при попытке обновления атрибута. Для получения дополнительной информации см. Раздел Указание сопоставлений атрибутов IdP для вашего пула пользователей.

(строка)

ExplicitAuthFlows -> (список)

Потоки аутентификации, которые вы хотите, чтобы поддерживал ваш клиент пула пользователей. Для каждого клиента приложения в вашем пуле пользователей вы можете авторизовать ваших пользователей с помощью любого сочетания одного или нескольких потоков, включая имя пользователя и Secure Remote Password (SRP), имя пользователя и пароль или пользовательский процесс аутентификации, который вы определяете с помощью функций Lambda.

Примечание

Если вы не указываете значение для ExplicitAuthFlows, ваш клиент приложения поддерживает ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH и ALLOW_CUSTOM_AUTH.

Значения для параметров потоков аутентификации включают в себя следующее.

  • ALLOW_USER_AUTH: Включить аутентификацию на основе выбора с USER_AUTH. Эта настройка охватывает аутентификацию по имени пользователя/паролю, по имени пользователя/безопасного удаленного пароля (SRP), без пароля и с помощью ключа доступа. Этот поток аутентификации может выполнять аутентификацию по имени пользователя/паролю и SRP без дополнительных ExplicitAuthFlows, разрешающих их. Например, пользователи могут завершить вызов SRP через USER_AUTH, без активации потока USER_SRP_AUTH для клиента приложения. Этот поток не включает в себя CUSTOM_AUTH. Для активации этой настройки ваш пул пользователей должен быть уровня Essentials или выше.
  • ALLOW_ADMIN_USER_PASSWORD_AUTH: Включить поток аутентификации администратора с использованием пароля пользователя ADMIN_USER_PASSWORD_AUTH. Эта настройка заменяет настройку ADMIN_NO_SRP_AUTH. С этим потоком аутентификации ваше приложение передает имя пользователя и пароль Amazon Cognito в запросе вместо использования протокола Secure Remote Password (SRP) для безопасной передачи пароля.
  • ALLOW_CUSTOM_AUTH: Включить аутентификацию, основанную на триггерах Lambda.
  • ALLOW_USER_PASSWORD_AUTH: Включить аутентификацию на основе пароля пользователя. В этом потоке Amazon Cognito получает пароль в запросе вместо использования протокола SRP для проверки паролей.
  • ALLOW_USER_SRP_AUTH: Включить аутентификацию на основе SRP.
  • ALLOW_REFRESH_TOKEN_AUTH: Включить поток аутентификации для обновления токенов.

В некоторых средах вы увидите значения ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY или USER_PASSWORD_AUTH. Вы не можете назначить эти устаревшие значения ExplicitAuthFlows клиентам пула пользователей одновременно со значениями, начинающимися с ALLOW_, такими как ALLOW_USER_SRP_AUTH.

(строка)

SupportedIdentityProviders -> (список)

Список имен поставщиков для поставщиков идентификации (IdP), поддерживаемых этим клиентом. Поддерживаются следующие: COGNITO, Facebook, Google, SignInWithApple и LoginWithAmazon. Вы также можете указать имена, которые вы настроили для SAML и OIDC IdP в вашем пуле пользователей, например, MySAMLIdP или MyOIDCIdP.

Этот параметр устанавливает IdP, которые будут отображаться на странице входа для вашего клиента приложения в управлении входами. Удаление COGNITO из этого списка не предотвращает операции аутентификации для локальных пользователей с использованием API пулов пользователей в SDK Amazon Web Services. Единственный способ предотвратить аутентификацию на основе SDK — заблокировать доступ с помощью правила WAF.

(строка)

CallbackURLs -> (список)

Список разрешенных URL-адресов перенаправления (обратного вызова) для IdP.

Адрес перенаправления должен:

  • Быть абсолютным URI.
  • Быть зарегистрированным в сервере авторизации.
  • Не содержать компонента фрагмента.

См. OAuth 2.0 - Точка перенаправления.

Amazon Cognito требует HTTPS над HTTP, за исключением http://localhost только для целей тестирования.

Поддерживаются также URL-адреса обратного вызова приложения, такие как myapp://example.

(строка)

LogoutURLs -> (список)

Список разрешенных URL-адресов выхода для IdP.

(строка)

DefaultRedirectURI -> (строка)

Адрес перенаправления по умолчанию. Должен быть в списке CallbackURLs.

Адрес перенаправления должен:

  • Быть абсолютным URI.
  • Быть зарегистрированным в сервере авторизации.
  • Не содержать компонента фрагмента.

См. OAuth 2.0 - Точка перенаправления.

Amazon Cognito требует HTTPS над HTTP, за исключением http://localhost только для целей тестирования.

Поддерживаются также URL-адреса обратного вызова приложения, такие как myapp://example.

AllowedOAuthFlows -> (список)

Типы OAuth-разрешений, которые должен генерировать ваш клиент приложения. Чтобы создать клиент приложения, генерирующий разрешения для учетных данных клиента, необходимо добавить client_credentials в качестве единственного разрешенного OAuth-потока.

code

Используйте поток с кодом, предоставляющий код авторизации в качестве ответа. Этот код можно обменять на токены доступа с помощью конечной точки /oauth2/token.

implicit

Непосредственно выдайте токен доступа (и, необязательно, токен идентификатора, в зависимости от областей) вашему пользователю.

client_credentials

Выдайте токен доступа с помощью конечной точки /oauth2/token непосредственно нелицевому пользователю, используя комбинацию идентификатора клиента и секрета клиента.

(строка)

AllowedOAuthScopes -> (список)

OAuth 2.0 области, которые должен поддерживать ваш клиент приложения. Могут включать стандартные области OAuth, такие как phone , email , openid и profile . Также могут включать область aws.cognito.signin.user.admin, которая разрешает операции по самообслуживанию профиля пользователя и пользовательские области от серверов ресурсов.

(строка)

AllowedOAuthFlowsUserPoolClient -> (булево)

Установите в значение true, чтобы использовать функции сервера авторизации OAuth 2.0 в вашем клиенте приложения.

Этот параметр должен иметь значение true, прежде чем вы сможете настроить следующие функции в своем клиенте приложения.

  • CallBackURLs : URL обратного вызова.
  • LogoutURLs : URL перенаправления для выхода.
  • AllowedOAuthScopes : OAuth 2.0 области.
  • AllowedOAuthFlows : Поддержка OAuth 2.0 разрешений на основе кода авторизации, неявного и учетных данных клиента.

Для использования функций сервера авторизации настройте одну из этих функций в консоли Amazon Cognito или установите значение AllowedOAuthFlowsUserPoolClient в true в запросе API CreateUserPoolClient или UpdateUserPoolClient. Если вы не зададите значение для AllowedOAuthFlowsUserPoolClient в запросе с помощью командной строки или SDK, оно по умолчанию будет false. При значении false разрешен только вход через SDK.

AnalyticsConfiguration -> (структура)

Настройка аналитики пользовательского пула для сбора метрик и отправки их в вашу кампанию Amazon Pinpoint.

Примечание

В регионах Amazon Web Services, где Amazon Pinpoint недоступен, пользовательские пулы поддерживают только отправку событий в проекты Amazon Pinpoint в регионе Amazon Web Services us-east-1. В регионах, где Amazon Pinpoint доступен, пользовательские пулы поддерживают отправку событий в проекты Amazon Pinpoint в том же регионе.

ApplicationId -> (строка)

Идентификатор вашего проекта Amazon Pinpoint.

ApplicationArn -> (строка)

Идентификатор ресурса Amazon (ARN) проекта Amazon Pinpoint, который вы хотите подключить к клиенту приложения вашего пользовательского пула. Amazon Cognito публикует события в проект Amazon Pinpoint, который ApplicationArn заявляет. Также вы можете настроить приложение на передачу идентификатора конечной точки в параметре AnalyticsMetadata операций входа. Идентификатор конечной точки — информация о пункте назначения для push-уведомлений.

RoleArn -> (строка)

ARN роли Identity and Access Management, имеющей разрешения, необходимые для Amazon Cognito для публикации событий в аналитику Amazon Pinpoint.

ExternalId -> (строка)

Внешний идентификатор роли, которую Amazon Cognito принимает для отправки аналитических данных в Amazon Pinpoint.

UserDataShared -> (булево)

Если UserDataShared равно true, Amazon Cognito включает данные пользователя в события, которые он публикует в аналитику Amazon Pinpoint.

PreventUserExistenceErrors -> (строка)

При значении ENABLED подавляет сообщения, которые могут указывать на существование действительного пользователя, когда кто-то пытается войти в систему. Этот параметр задает ваши предпочтения для ошибок и ответов, которые API Amazon Cognito должны возвращать во время проверки подлинности, подтверждения учетной записи и восстановления пароля, когда пользователя нет в пользовательском пуле. При значении ENABLED и отсутствии пользователя проверка подлинности возвращает ошибку, указывающую на то, что имя пользователя или пароль неверны. Подтверждение учетной записи и восстановление пароля возвращают ответ, указывающий на отправку кода на симулированный адрес. При значении LEGACY эти API возвращают исключение UserNotFoundException, если пользователя нет в пользовательском пуле.

По умолчанию LEGACY.

EnableTokenRevocation -> (булево)

Указывает, активирована ли отмена токенов для клиента пользовательского пула. При создании нового клиента пользовательского пула отмена токенов активирована по умолчанию.

EnablePropagateAdditionalUserContextData -> (булево)

Когда EnablePropagateAdditionalUserContextData равно true, Amazon Cognito принимает значение IpAddress, которое вы отправляете в параметре UserContextData. Параметр UserContextData отправляет информацию в систему защиты от угроз Amazon Cognito для анализа рисков. Вы можете отправить UserContextData при входе в систему с помощью операций API InitiateAuth и RespondToAuthChallenge.

Когда EnablePropagateAdditionalUserContextData равно false, вы не можете отправлять IP-адрес источника пользователя в систему защиты от угроз Amazon Cognito с помощью неопознанных операций API. EnablePropagateAdditionalUserContextData не влияет на возможность отправки IP-адреса источника в параметре ContextData с помощью аутентифицированных операций API AdminInitiateAuth и AdminRespondToAuthChallenge.

Вы можете активировать EnablePropagateAdditionalUserContextData только в клиенте приложения, имеющем секрет клиента. Дополнительную информацию о распространении данных контекста пользователя см. в разделе Добавление данных устройства и сессии пользователя в запросы API.

AuthSessionValidity -> (целое число)

Amazon Cognito создает токен сессии для каждого запроса API в потоке проверки подлинности. AuthSessionValidity — это продолжительность этого токена сессии в минутах. Ваш пользователь-пользователь в пользовательском пуле должен ответить на каждый вызов проверки подлинности до истечения срока действия сессии.

RefreshTokenRotation -> (структура)

Настройка вашего клиента приложения для вращения токенов обновления. При включении ваш клиент приложения выдает новые токены идентификатора, доступа и обновления, когда пользователи возобновляют свои сессии с токенами обновления. При отключении обновление токенов выдает только токены идентификатора и доступа.

Feature -> (строка)

Состояние вращения токенов обновления для текущего клиента приложения.

RetryGracePeriodSeconds -> (целое число)

При запросе обновления токена с GetTokensFromRefreshToken исходный токен обновления, который вы вращаете, может оставаться действительным в течение периода до 60 секунд. Это позволяет повторные попытки с клиентской стороны. Когда RetryGracePeriodSeconds равно 0, период ожидания отключен, и успешный запрос немедленно делает переданный токен обновления недействительным.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API