Советы по рабочим процессам #11: Случайный 6-значный PIN-код, вызов API Okta и вход в систему на основе местоположения

Добро пожаловать в очередной пост «Советы по рабочим процессам Okta». Читайте все остальные советы.

В этом посте:

  • Как генерировать случайный 6-значный PIN-код
  • Использование пользовательского действия API для создания пользователя без учетных данных (через Okta API)
  • Как отслеживать вход в систему на основе географического положения

Как генерировать случайный 6-значный PIN-код

Этот совет от Арека Дрейера. Арек — старший инженер по продуктам в компании kandji.io, которая обеспечивает управление устройствами Apple нового поколения для macOS, iOS, iPadOS и tvOS. Арек более 20 лет работал независимым тренером, автором и консультантом, а в 2021 году он присоединился к Kandji. Он был очень рад открыть для себя сообщество администраторов, которые любят помогать друг другу решать проблемы в пространстве Okta Workflows.

Этот совет показывает, как сгенерировать 6-значный PIN-код, где первые цифры могут быть нулевыми.

Процесс состоит из двух шагов:

  1. Сгенерируйте 7-значное случайное число между, используя карточку Number — Random Integer.
  2. Используйте карту Text — Text Segment, чтобы убрать первую цифру, и в итоге вы получите 6-значный PIN-код, где первая цифра может быть нулем.

Это классный совет (или хак) для конкретного случая использования.

✨ Спасибо Gabriel Sroka за помощь в поиске этого решения.

Использование пользовательского действия API для создания пользователя без учетных данных (через Okta API)

Этот совет предоставлен Брайаном Барроузом, консультантом по построению рабочих процессов в Okta.

В этом совете вы узнаете, как отправить POST-запрос в Okta для создания пользователя без учетных данных.

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

Вы можете использовать функцию Object — Construct для создания внутреннего объекта с ключами для firstName, lastName и т.д. Затем вы можете передать результат этой карточки в другой объект Object — Construct с ключом profile.

Результирующий результат нашей второй карты — объект, который соответствует тому, что API Okta ожидает для этого запроса, и выглядит следующим образом:

{
  "profile": {
    "lastName": "User",
    "email": "example.user@test.com",
    "mobilePhone": "555-415-1337",
    "firstName": "Example",
    "login": "example.user@test.com"
  }
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Затем вы можете добавить карточку Okta — Custom API Action с действием POST. Полная конечная точка, к которой мы хотим обратиться, будет https://${вашOktaDomain}/api/v1/users?activate=false, поэтому относительный URL для запроса будет /api/v1/users?activate=false.

С созданным объектом профиля и относительным URL вы теперь можете использовать Okta — Custom API Action для POST к API Okta.

Как отслеживать вход в систему на основе географического местоположения

Этот совет предоставлен Брайаном Барроузом, консультантом по построению рабочих процессов в Okta.

Этот совет основан на реальном сценарии использования, в котором клиент хотел отслеживать, пытаются ли пользователи с кодом страны UA в профиле войти в систему из-за пределов Украины — однако логика может быть легко настроена для многих уникальных сценариев.

Поток состоит из следующих шагов:

  1. Используйте событие Okta — User Sign In Attempt для запуска рабочего процесса при любой попытке пользователя войти в систему.
  2. Добавьте карточку Okta — Read User и перетащите идентификатор Actor ID в поле ввода. Мы также хотим выбрать код страны в качестве выходного поля.
  3. Добавьте функцию Branching — Continue If и проверьте, совпадает ли код страны пользователя с тем, который вам важно отслеживать. Если нет, то нам не нужно ничего делать, и поток остановится.
  4. Добавьте функцию Object — Get Multiple и получите географический контекст события входа в систему, используя точечную нотацию, создав вывод с именем ключа client.userAgent.geographicalContext.country.
  5. Добавьте функцию Branching — If Else и проверьте, что вывод шага 4 равен ожидаемой стране, из которой пользователь будет входить в систему. Если это не так, будет выполнена полоса False, поэтому здесь можно разместить любые действия, которые вы хотите предпринять, например, отправить сообщение в Slack и т.д.

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


Два ресурса, которые помогут вам узнать больше:

📌 Попробуйте это пошаговое руководство по началу работы: Build Your First Automation With Okta Workflows: Уведомление о приостановке пользователя.

📌 Все ресурсы Workflows (документы, учебник, часы работы, шаблоны, часы работы и многое другое)

Оцените статью
devanswers.ru
Добавить комментарий