Spec-Zone.ru › AWS CLI v2

[ aws . cognito-idp ]

create-user-pool-client

Описание

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

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

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

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

Примечание

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

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

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

Синтаксис

  create-user-pool-client
--user-pool-id <value>
--client-name <value>
[--generate-secret | --no-generate-secret]
[--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-name (строка)

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

--generate-secret | --no-generate-secret (логическое значение)

При установке в значение true , генерирует секретный ключ для клиента приложения. Секретные ключи используются в приложениях на стороне сервера и в приложениях «машина-машина». Секретные ключи генерируются автоматически; вы не можете указать значение секрета. Дополнительную информацию см. в разделе Типы клиентов приложения .

--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 (список)

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

Примечание

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

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

  • ALLOW_USER_AUTH : Включить аутентификацию на основе выбора с помощью USER_AUTH. Эта настройка охватывает аутентификацию с использованием имени пользователя и пароля, Secure Remote Password (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.

(строка)

Синтаксис:

"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. Вы также можете указать имена, которые вы настроили для SAML и OIDC IdP в вашем пользовательском пуле, например, MySAMLIdP или MyOIDCIdP.

Этот параметр устанавливает IdP, которые будут отображаться на странице входа для клиента приложения для управляемого входа. Удаление COGNITO из этого списка не препятствует операциям аутентификации для локальных пользователей с помощью API пользовательских пулов в SDK Amazon Web Services. Единственный способ предотвратить аутентификацию, основанную на 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 (строка)

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

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

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

code

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

implicit

Выдавайте токен доступа и токен идентификации, когда запрошены такие области, как openid и profile, напрямую вашему пользователю.

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

RoleArn -> (строка)

ARN роли управления идентификацией и доступом, которая имеет необходимые разрешения для публикации 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 (логическое значение)

Включить отладку регистрации.

--endpoint-url (строка)

Переопределить стандартный URL команды заданным URL.

--no-verify-ssl (логическое значение)

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

--no-paginate (логическое значение)

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

--output (строка)

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

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

--query (строка)

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

--profile (строка)

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

--region (строка)

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

--version (строка)

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

--color (строка)

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

  • вкл
  • выкл
  • авто

--no-sign-request (логическое значение)

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

--ca-bundle (строка)

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

--cli-read-timeout (целое число)

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

--cli-connect-timeout (целое число)

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

--cli-binary-format (строка)

Стиль форматирования для двоичных блоков. По умолчанию используется формат 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 (логическое значение)

Отключить тулбар для вывода.

--cli-auto-prompt (логическое значение)

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

--no-cli-auto-prompt (логическое значение)

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

Примеры

Примечание

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

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

Для создания клиента пользовательского пула

Следующий create-user-pool-client пример создаёт нового клиента пользовательского пула с секретом клиента, явными атрибутами чтения и записи, входа с использованием логин-пароль и потоков SRP, входа с тремя IdP, доступом к подмножеству OAuth-скопов, аналитикой PinPoint и продлённым сроком действия сеанса аутентификации.

aws cognito-idp create-user-pool-client \
    --user-pool-id us-west-2_EXAMPLE \
    --client-name MyTestClient \
    --generate-secret \
    --refresh-token-validity 10 \
    --access-token-validity 60 \
    --id-token-validity 60 \
    --token-validity-units AccessToken=minutes,IdToken=minutes,RefreshToken=days \
    --read-attributes email phone_number email_verified phone_number_verified \
    --write-attributes email phone_number \
    --explicit-auth-flows ALLOW_USER_PASSWORD_AUTH ALLOW_USER_SRP_AUTH ALLOW_REFRESH_TOKEN_AUTH \
    --supported-identity-providers Google Facebook MyOIDC \
    --callback-urls https://www.amazon.com https://example.com http://localhost:8001 myapp://example \
    --allowed-o-auth-flows code implicit \
    --allowed-o-auth-scopes openid profile aws.cognito.signin.user.admin solar-system-data/asteroids.add \
    --allowed-o-auth-flows-user-pool-client \
    --analytics-configuration ApplicationArn=arn:aws:mobiletargeting:us-west-2:767671399759:apps/thisisanexamplepinpointapplicationid,UserDataShared=TRUE \
    --prevent-user-existence-errors ENABLED \
    --enable-token-revocation \
    --enable-propagate-additional-user-context-data \
    --auth-session-validity 4

Вывод:

{
    "UserPoolClient": {
        "UserPoolId": "us-west-2_EXAMPLE",
        "ClientName": "MyTestClient",
        "ClientId": "123abc456defEXAMPLE",
        "ClientSecret": "this1234is5678my91011example1213client1415secret",
        "LastModifiedDate": 1726788459.464,
        "CreationDate": 1726788459.464,
        "RefreshTokenValidity": 10,
        "AccessTokenValidity": 60,
        "IdTokenValidity": 60,
        "TokenValidityUnits": {
            "AccessToken": "minutes",
            "IdToken": "minutes",
            "RefreshToken": "days"
        },
        "ReadAttributes": [
            "email_verified",
            "phone_number_verified",
            "phone_number",
            "email"
        ],
        "WriteAttributes": [
            "phone_number",
            "email"
        ],
        "ExplicitAuthFlows": [
            "ALLOW_USER_PASSWORD_AUTH",
            "ALLOW_USER_SRP_AUTH",
            "ALLOW_REFRESH_TOKEN_AUTH"
        ],
        "SupportedIdentityProviders": [
            "Google",
            "MyOIDC",
            "Facebook"
        ],
        "CallbackURLs": [
            "https://example.com",
            "https://www.amazon.com",
            "myapp://example",
            "http://localhost:8001"
        ],
        "AllowedOAuthFlows": [
            "implicit",
            "code"
        ],
        "AllowedOAuthScopes": [
            "aws.cognito.signin.user.admin",
            "openid",
            "profile",
            "solar-system-data/asteroids.add"
        ],
        "AllowedOAuthFlowsUserPoolClient": true,
        "AnalyticsConfiguration": {
            "ApplicationArn": "arn:aws:mobiletargeting:us-west-2:123456789012:apps/thisisanexamplepinpointapplicationid",
            "RoleArn": "arn:aws:iam::123456789012:role/aws-service-role/cognito-idp.amazonaws.com/AWSServiceRoleForAmazonCognitoIdp",
            "UserDataShared": true
        },
        "PreventUserExistenceErrors": "ENABLED",
        "EnableTokenRevocation": true,
        "EnablePropagateAdditionalUserContextData": true,
        "AuthSessionValidity": 4
    }
}

Для получения дополнительной информации см. Настройки, специфичные для приложения, с клиентами приложений в Руководстве разработчика 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 -> (список)

Потоки аутентификации, которые вы хотите, чтобы поддерживал ваш клиент пользовательского пула. Для каждого клиента приложения в вашем пользовательском пуле вы можете аутентифицировать пользователей с помощью любой комбинации одного или нескольких потоков, включая аутентификацию с именем пользователя и защищенным удаленным паролем (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.

(строка)

SupportedIdentityProviders -> (список)

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

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

(строка)

CallbackURLs -> (список)

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

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

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

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

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

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

(строка)

LogoutURLs -> (список)

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

(строка)

DefaultRedirectURI -> (строка)

Значение URI по умолчанию для перенаправления. Должен находиться в списке 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 при входе в систему в систему Amazon Cognito с использованием операций API InitiateAuth и RespondToAuthChallenge.

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

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

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

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

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

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

Feature -> (строка)

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

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

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

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

Spec-Zone.ru

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