Вход через внешние поставщики идентификации

Настройка входа через внешние поставщики идентификации включает в себя следующие шаги:

  1. Сконфигурировать конкретного поставщика идентификации в разделе «Поставщики идентификации» на стороне Blitz Identity Provider.

  2. Сконфигурировать этого поставщика идентификации на стороне самого поставщика идентификации.

  3. Включить возможность входа через данный поставщик идентификации в разделе «Аутентификации» (см. подробнее здесь).

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

Вид экрана настройки поставщиков идентификации

Вход через Google

Для конфигурирования входа через учетную запись Google следует выполнить следующие шаги в разделе Поставщики идентификации консоли управления:

  1. Добавить поставщика, имеющего тип Google.

  2. Ввести идентификатор поставщика (можно не менять предложенный системой идентификатор).

  3. Ввести название поставщика. Именно это название будет отображаться на странице входа Blitz Identity Provider.Базовые настройки поставщика идентификации Google

  4. Перейти в Диспетчер API Google, в котором выполнить следующие операции:

    • перейти в раздел «Учетные данные»;

    • создать проект и создать новые учетные данные типа «Идентификатор клиента OAuth»;

    • выбрать тип нового идентификатора клиента (например, веб-приложение) и дать ему название;

    • ограничения не задавать, они будут указаны позже;

    • Google сгенерирует идентификатор и секрет клиента, они потребуются для последующего ввода в Blitz Identity Provider.Настройки в Диспетчере API Google

  5. Перейти в Blitz Identity Provider и заполнить дополнительные настройки поставщика идентификации, которые включают в себя:

    • идентификатор клиента (Client ID), полученный в Диспетчере API Google;

    • секрет клиента (Client secret), полученный в Диспетчере API Google;

    • запрашиваемые разрешения (scope), предусмотренные в Google;

    • правила, которые будут использоваться для идентификации учетной записи в Google и Blitz Identity Provider. Для создания правила следует использовать строки подстановки ${attr_name}, где attr_name - это имя атрибута, получаемого от Google. Можно указывать в одном правиле несколько атрибутов. Например, правило CN=${name} ${surname} означает, что атрибут CN будет сопоставляться с сочетанием двух атрибутов - name и surname через пробел. Можно указать несколько условий, которые должны выполняться одновременно, а также добавлять альтернативное правило. При необходимости следует отметить опцию «Предлагать пользователю ввести логин и пароль для привязки, если учетная запись не была идентифицирована»:

      • опция выбрана: пользователю, будет предложено ввести логин и пароль учетной записи Blitz Identity Provider, чтобы привязать аккаунт Google, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider;
      • опция не выбрана: пользователь будет автоматически направлен на страницу регистрации, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider.
    • правила сохранения атрибутов, полученных из Google, в Blitz Identity Provider. Например, правило mail=${email} означает, что атрибут с именем mail в Blitz Identity Provider будет заполняться значением из атрибута email учетной записи Google (для пользователей, воспользовавшихся этим поставщиком идентификации). Кроме того, у каждого атрибута можно поставить опцию «Мастер». Если она отмечена, то при каждом входе через Google данный атрибут будет обновлен в хранилище Blitz Identity Provider.

  6. Перейти в Диспетчер API Google и указать в качестве разрешенного URI перенаправления значение, указанное в параметре «URI перенаправления (Redirect URI)» консоли управления.

  7. Сохранить данные и в Blitz Identity Provider, и в Диспетчере API Google.

  8. Перейти в Диспетчер API Google и указать в качестве разрешенного URI перенаправления значение, указанное в параметре «URI перенаправления (Redirect URI)» консоли управления.

  9. Сохранить данные и в Blitz Identity Provider, и в Диспетчере API Google.

Дополнительные настройки поставщика идентификации Google

Вход через Facebook

Для конфигурирования входа через учетную запись Facebook следует выполнить следующие шаги в разделе Поставщики идентификации:

  1. Добавить поставщика, имеющего тип Facebook.

  2. Ввести идентификатор поставщика (или не менять предложенный идентификатор).

  3. Ввести название поставщика. Именно это название будет отображаться на странице аутентификации.Базовые настройки поставщика идентификации Facebook

  4. Перейти в панель Facebook для разработчиков, в котором выполнить следующие операции:

    • войдите с помощью своей учетной записи Facebook и при необходимости зарегистрируйтесь в качестве разработчика;

    • добавьте новое приложение, указав его название, адрес электронной почты для связи и категорию приложения;

    • создайте идентификатор приложения;

    • перейдите в настройки приложения, раздел «Основное». В этом разделе указать параметр «Домены приложения» (должен соответствовать домену, на котором установлен Blitz Identity Provider) и добавить сайт с аналогичным URL.

    • Перейти в раздел «Проверка приложения» и активировать пункт Сделать приложение «...» доступным для всех?Настройки в панели Facebook для разработчиков

  5. Перейти в Blitz Identity Provider и заполнить дополнительные настройки поставщика идентификации, которые включают в себя:

    • идентификатор приложения (App ID), полученный в панели Facebook для разработчиков;

    • секрет приложения (App Secret), полученный в панели Facebook для разработчиков;

    • запрашиваемые разрешения (scope), предусмотренные в Facebook;

    • запрашиваемые атрибуты, предусмотренные в Facebook; допустимо указывать только те атрибуты, которые предусмотрены выбранными разрешениями;

    • правила, которые будут использоваться для идентификации учетной записи в Facebook и Blitz Identity Provider. Для создания правила следует использовать строки подстановки ${attr_name}, где attr_name - это имя атрибута, получаемого от Facebook. Можно указывать в одном правиле несколько атрибутов. Например, правило CN=${name} ${surname} означает, что атрибут CN будет сопоставляться с сочетанием двух атрибутов - name и surname через пробел. Можно указать несколько условий, которые должны выполняться одновременно, а также добавлять альтернативное правило. При необходимости следует отметить опцию «Предлагать пользователю ввести логин и пароль для привязки, если учетная запись не была идентифицирована»:

      • опция выбрана: пользователю, будет предложено ввести логин и пароль учетной записи Blitz Identity Provider, чтобы привязать аккаунт Facebook, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider;
      • опция не выбрана: пользователь будет автоматически направлен на страницу регистрации, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider.
    • правила сохранения атрибутов, полученных из Facebook, в Blitz Identity Provider. Например, правило mail=${email} означает, что атрибут с именем mail в Blitz Identity Provider будет заполняться значением из атрибута email учетной записи Facebook (для пользователей, воспользовавшихся этим поставщиком идентификации). Кроме того, у каждого атрибута можно поставить опцию «Мастер». Если она отмечена, то при каждом входе через Facebook данный атрибут будет обновлен в хранилище Blitz Identity Provider.

  6. Сохранить данные и в Blitz Identity Provider, и в панели Facebook для разработчиков.

Дополнительные настройки поставщика идентификации Facebook

Вход через ВКонтакте

Для конфигурирования входа через учетную запись ВКонтакте следует выполнить следующие шаги в разделе «Поставщики идентификации»:

  1. Добавить поставщика, имеющего тип VK.

  2. Ввести идентификатор поставщика (или не менять предложенный идентификатор).

  3. Ввести название поставщика. Именно это название будет отображаться на странице аутентификации.Базовые настройки поставщика идентификации ВКонтакте

  4. Перейти в панель VK для разработчиков, в котором выполнить следующие операции:

    • войдите с помощью своей учетной записи ВКонтакте;

    • перейти в раздел «Мои приложения»;

    • выбрать пункт «Создать приложение»;

    • выбрать тип создаваемого приложения – «Веб-сайт», указать его название, адрес, и домен;

    • в появившемся окне настоек приложения прописать базовый домен приложения (должен совпадать с доменом, на котором установлен Blitz Identity Provider).Настройки в панели VK для разработчиков

  5. Перейти в Blitz Identity Provider и заполнить дополнительные настройки поставщика идентификации, которые включают в себя:

    • ID приложения, полученный в панели VK для разработчиков;

    • защищенный ключ, полученный в панели VK для разработчиков;

    • запрашиваемые разрешения, предусмотренные в ВКонтакте;

    • правила, которые будут использоваться для идентификации учетной записи в ВКонтакте и Blitz Identity Provider. Для создания правила следует использовать строки подстановки ${attr_name}, где attr_name - это имя атрибута, получаемого от ВКонтакте. Можно указывать в одном правиле несколько атрибутов. Например, правило CN=${name} ${surname} означает, что атрибут CN будет сопоставляться с сочетанием двух атрибутов - name и surname через пробел. Можно указать несколько условий, которые должны выполняться одновременно, а также добавлять альтернативное правило. При необходимости следует отметить опцию «Предлагать пользователю ввести логин и пароль для привязки, если учетная запись не была идентифицирована»:

      • опция выбрана: пользователю, будет предложено ввести логин и пароль учетной записи Blitz Identity Provider, чтобы привязать аккаунт ВКонтакте, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider;
      • опция не выбрана: пользователь будет автоматически направлен на страницу регистрации, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider.
    • правила сохранения атрибутов, полученных из ВКонтакте, в Blitz Identity Provider. Например, правило mail=${email} означает, что атрибут с именем mail в Blitz Identity Provider будет заполняться значением из атрибута email учетной записи ВКонтакте (для пользователей, воспользовавшихся этим поставщиком идентификации). Кроме того, у каждого атрибута можно поставить опцию «Мастер». Если она отмечена, то при каждом входе через ВКонтакте данный атрибут будет обновлен в хранилище Blitz Identity Provider.

  6. Сохранить данные и в Blitz Identity Provider, и в панели VK для разработчиков.

Дополнительные настройки поставщика идентификации ВКонтакте

Вход через Единую систему идентификации и аутентификации (ЕСИА)

Для конфигурирования входа через учетную запись ЕСИА следует выполнить следующие шаги в разделе «Поставщики идентификации»:

  1. Добавить поставщика, имеющего тип ЕСИА.

  2. Ввести идентификатор поставщика (или не менять предложенный идентификатор).

  3. Ввести название поставщика. Именно это название будет отображаться на странице аутентификации.Базовые настройки поставщика идентификации ЕСИА

  4. Сгенерировать ключ электронной подписи для взаимодействия с ЕСИА и выгрузить сертификат открытого ключа. Для Standard Edition ключ автоматически генерируется при установке. Сертификат ключа лежит в файле Blitz2ESIA.crt в каталоге /conf. Для Enterprise Edition генерация ключа и экспорт сертификата производятся с помощью следующего скрипта, выполняемого на сервере с установленным приложением blitz-console:

su - blitz
source /etc/default/blitz-console
${JAVA_HOME}/bin/keytool -genkeypair -alias blitz2esia -keystore /usr/share/identityblitz/blitz-config/BlitzIdPKeystore.jks -storepass <STORE_PASS> -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -keypass <KEY_PASS> -dname "CN=blitz2esia,OU=IT,O=Company,C=RU""
${JAVA_HOME}/bin/keytool -exportcert -alias blitz2esia -keystore /usr/share/identityblitz/blitz-config/BlitzIdPKeystore.jks -storepass <STORE_PASS> -storetype JKS -file /usr/share/identityblitz/blitz-config/blitz2esia.crt

Параметры имеют следующие назначения:

STORE_PASS – пароль от BlitzIdPKeystore.jks был сгенерирован при установке Blitz;

KEY_PASS – произвольный пароль от ключевой пары.

Сгенерированный в результате выполнения скрипта файл blitz2esia.crt необходимо будет зарегистрировать на Технологическом портале ЕСИА (см. следующий пункт).

    1. Осуществить регистрацию информационной системы организации через Технологический портал ЕСИА , в котором выполнить следующие операции:

      • нажать на кнопку «Добавить систему»;

      • указать название системы, отображаемое название, мнемонику системы, список URL системы (задать URL развернутой системы Blitz Identity Provider), алгоритм формирования электронной подписи (RS256) и выбрать ответственного сотрудника;

      • сохранить данные и перейти к настройке сертификатов информационной системы;

      • загрузить сертификат для зарегистрированной информационной системы на Технологическом портал;Добавление системы в Технологическом портале ЕСИА

        Добавление сертификата системы в Технологическом портале ЕСИА

    2. Перейти в Blitz Identity Provider и заполнить дополнительные настройки поставщика идентификации, которые включают в себя:

      • URI внешнего поставщика – домен среды ЕСИА, к которой производится подключение, например, https://esia.gosuslugi.ru;

      • мнемоника системы, указанная ранее в Технологическом портале ЕСИА;

      • идентификатор ключа электронной подписи (alias) – идентификатор ключа электронной подписи, загруженный в хранилище Blitz Identity Provider (хранилище, указанное в разделе keystore конфигурационного файла Blitz Identity Provider). По умолчанию имеет значение blitz2esia. Именно сертификат ключа этой электронной подписи должен быть загружен в Технологический портал ЕСИА;

      • запрашиваемые разрешения – перечень запрашиваемых разрешений из ЕСИА;

      • запрашиваемые данные пользователя – необходимо отметить те данные, которые следует получать из ЕСИА; эти данные должны быть доступны по запрашиваемым разрешениям;

      • правила, которые будут использоваться для идентификации учетной записи в ЕСИА и Blitz Identity Provider. Для создания правила следует использовать строки подстановки ${attr_name}, где attr_name - это имя атрибута, получаемого от ЕСИА. Можно указывать в одном правиле несколько атрибутов. Например, правило CN=${name} ${surname} означает, что атрибут CN будет сопоставляться с сочетанием двух атрибутов - name и surname через пробел. Можно указать несколько условий, которые должны выполняться одновременно, а также добавлять альтернативное правило. При необходимости следует отметить опцию «Предлагать пользователю ввести логин и пароль для привязки, если учетная запись не была идентифицирована»:

        • опция выбрана: пользователю, будет предложено ввести логин и пароль учетной записи Blitz Identity Provider, чтобы привязать аккаунт ЕСИА, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider;
        • опция не выбрана: пользователь будет автоматически направлен на страницу регистрации, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider.
      • правила сохранения атрибутов, полученных из ЕСИА, в Blitz Identity Provider. Например, правило mail=${email} означает, что атрибут с именем mail в Blitz Identity Provider будет заполняться значением из атрибута email учетной записи ЕСИА (для пользователей, воспользовавшихся этим поставщиком идентификации). Кроме того, у каждого атрибута можно поставить опцию «Мастер». Если она отмечена, то при каждом входе через ЕСИА данный атрибут будет обновлен в хранилище Blitz Identity Provider.

    3. Сохранить данные в Blitz Identity Provider.

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


    Дополнительные настройки поставщика идентификации ЕСИА

    Вход через другую установку Blitz Identity Provider

    Для конфигурирования входа через учетную запись другого Blitz Identity Provider (например, установленного в другой организации, далее – доверенный Blitz Identity Provider) следует выполнить следующие шаги в разделе Поставщики идентификации:

    1. Добавить поставщика, имеющего тип Blitz Identity Provider.

    2. Ввести идентификатор поставщика (или не менять предложенный идентификатор).

    3. Ввести название поставщика. Именно это название будет отображаться на странице аутентификации.Базовые настройки поставщика идентификации Blitz Identity Provider при настройке федеративного доступа

    4. Открыть консоль управления доверенного Blitz Identity Provider (или попросить администратора другого Blitz Identity Provider это сделать) и выполнить следующие операции:

      • перейти в раздел Приложения;

      • нажать на кнопку «Добавить приложение»;

      • указать идентификатор приложения, название и домен приложения;

      • сохранить приложение и перейти к его настройке;

      • выбрать протокол подключения OAuth 2.0;

      • указать секрет (client_secret), либо оставить предзаполненный вариант;

      • указать префикс ссылки возврата, в качестве которой указать URL основной Blitz Identity Provider, в который будет осуществляться вход;

      • произвести настройку необходимых разрешений в разделе OAuth 2.0.

    5. Перейти в Blitz Identity Provider и заполнить дополнительные настройки поставщика идентификации, которые включают в себя:

      • URI внешнего поставщика – домен, на котором установлен доверенный Blitz Identity Provider;

      • идентификатор (client_id), указанный в настройках доверенного Blitz Identity Provider;

      • секрет (client_secret), указанный в настройках доверенного Blitz Identity Provider;

      • запрашиваемые разрешения, данные разрешения должны быть определены в разделе OAuth 2.0 доверенного Blitz Identity Provider;

      • идентификатор – атрибут доверенного Blitz Identity Provider, который будет использоваться в качестве идентификатора пользователя (обеспечивает уникальность учетной записи даже при изменении атрибута, отвечающего за имя пользователя);

      • правила, которые будут использоваться для идентификации учетной записи в доверенном Blitz Identity Provider и Blitz Identity Provider. Для создания правила следует использовать строки подстановки ${attr_name}, где attr_name - это имя атрибута, получаемого от доверенного Blitz Identity Provider. Можно указывать в одном правиле несколько атрибутов. Например, правило CN=${name} ${surname} означает, что атрибут CN будет сопоставляться с сочетанием двух атрибутов - name и surname через пробел. Можно указать несколько условий, которые должны выполняться одновременно, а также добавлять альтернативное правило. При необходимости следует отметить опцию «Предлагать пользователю ввести логин и пароль для привязки, если учетная запись не была идентифицирована»:

        • опция выбрана: пользователю, будет предложено ввести логин и пароль учетной записи Blitz Identity Provider, чтобы привязать аккаунт доверенного Blitz Identity Provider, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider;
        • опция не выбрана: пользователь будет автоматически направлен на страницу регистрации, если по настроенным правилам не удалось найти учетную запись Blitz Identity Provider.
      • правила сохранения атрибутов, полученных из доверенного Blitz Identity Provider, в Blitz Identity Provider. Например, правило mail=${email} означает, что атрибут с именем mail в Blitz Identity Provider будет заполняться значением из атрибута email учетной записи доверенного Blitz Identity Provider (для пользователей, воспользовавшихся этим поставщиком идентификации). Кроме того, у каждого атрибута можно поставить опцию «Мастер». Если она отмечена, то при каждом входе через доверенного Blitz Identity Provider данный атрибут будет обновлен в хранилище Blitz Identity Provider.

    6. Сохранить данные в Blitz Identity Provider.

    7. В разделе Аутентификация консоли управления включить использование метода аутентификации с использованием соответствующего внешнего сервиса идентификации (см. подробнее здесь).

    Настройки подключения к внешнему поставщику идентификации Blitz Identity Provider (фрагмент)

    Если все настроено корректно, то можно попробовать войти в приложение одной организации (кнопка «Войти через …») с использованием учетной записи другой организации.

    Пример экрана входа с кнопкой входа через внешний поставщик идентификации

    Пример запроса идентификации внешним поставщиком идентификации