INTEGRITY Документация

Amazon Cognito

Amazon Cognito обеспечивает управление идентификацией SSO для конечных пользователей веб- и мобильных приложений. Amazon Cognito можно интегрировать с Cloudflare One в качестве поставщика идентификации OIDC.

Предварительные требования

Настройте Amazon Cognito (OIDC)

1. Получите настройки Amazon Cognito

Для настройки интеграции требуются следующие значения Amazon Cognito:

Чтобы получить эти значения:

  1. Войдите в панель администратора Amazon Cognito.

  2. Перейдите в User pools и выберите свой пул пользователей.

  3. Выберите Интеграция приложения на вкладке.

  4. В разделе Домен, скопируйте домен своего пула пользователей или настроить новый домен.

  5. Запишите следующее Конечные точки OIDC Amazon Cognito:

    • Auth URL: https://<your user pool domain>/oauth2/authorize
    • Token URL: https://<your user pool domain>/oauth2/token
    • URL-адрес сертификата (ключа): https://cognito-idp.<region>.amazonaws.com/<your user pool ID>/.well-known/jwks.json (это Token signing key URL показанный в Обзор User pool.)
  6. В разделе Список клиентов приложения, выберите Создать клиент приложения.

  7. Для тип приложения, выберите Конфиденциальный клиент.

  8. Введите Имя клиента приложения для вашего приложения.

  9. Убедитесь, что Создайте client secret выбрано.

  10. Настройте следующее Настройки Hosted UI:

    1. В Разрешённые URL обратного вызова, добавьте следующий URL-адрес:

      https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback

      Имя вашей команды можно найти в Панель управления Cloudflare в разделе Настройки > Название и домен команды > Название команды.

    2. Выберите Поставщики удостоверений для использования с этим клиентом приложения. Как минимум включите Cognito user pool как поставщика.

    3. Для Типы разрешений OAuth 2.0 (grant types), выберите Authorization code grant.

    4. Для OpenID Connect scopes, выберите OpenID, Электронная почта, а также Профиль.

  11. Выберите Создать клиент приложения.

  12. Далее выберите клиент приложения, который вы только что создали.

  13. Скопируйте его Client ID и Секрет клиента.

2. Добавьте Amazon Cognito в качестве поставщика идентификации

  1. В Панель управления Cloudflare, перейдите в Zero Trust > Интеграции > Поставщики удостоверений.

  2. В разделе Ваши поставщики идентификации, выберите Добавить нового поставщика идентификации.

  3. Выберите OpenID Connect.

  4. Назовите поставщика идентификации и заполните обязательные поля данными, полученными от Amazon Cognito.

  5. (Необязательно) Включите Proof of Key Exchange (PKCE) если протокол поддерживается вашим IdP. PKCE будет выполняться при каждой попытке входа.

  6. (Необязательно) В разделе Необязательные конфигурации, введите пользовательские утверждения OIDC который вы хотите добавить к идентификации пользователей.

  7. Выберите Save.

Чтобы тест что ваше подключение работает, выберите Тест.

Пример конфигурации API

{
	"config": {
		"client_id": "<your client id>",
		"client_secret": "<your client secret>",
		"auth_url": "https://<your user pool domain>/oauth2/authorize",
		"token_url": "https://<your user pool domain>/oauth2/token",
		"certs_url": "https://cognito-idp.<region>.amazonaws.com/<your user pool ID>/.well-known/jwks.json",
		"scopes": ["openid", "email", "profile"],
		"claims": ["sub", "cognito:username", "name", "cognito:groups"]
	},
	"type": "oidc",
	"name": "Amazon Cognito example"
}