Настройка провайдера Microsoft OAuth

1. Введение

В этом разделе описывается настройка клиента в Microsoft Azure, с последующим использованием полученной информации для настройки провайдера OAuth в SuiteCRM.

2. Регистрация приложения SuiteCRM в Microsoft Azure

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

2.1. Регистрация приложения

Перейдите по ссылке https://portal.azure.com и войдите в портал.

Главная страница портала может выглядеть следующим образом:

azure-Главная страница

Проверьте, что ссылка Регистрация приложений отображается на главной странице.

azure-службы

В противном случае перейдите по ссылке Больше служб и в открывшемся перечне найдите ссылку.

azure-больше-служб

azure-ссылка-Регистрация приложений

Страница Регистрация приложений может выглядеть следующим образом:

azure-Регистрация приложений

2.2. Регистрация нового приложения

На странице Регистрация приложений перейдите по ссылке Новая регистрация

azure-Регистрация нового приложения

На странице регистрации выполните следующее:

  1. Укажите имя приложения, например - SuiteCRM

  2. Выберите один из типов поддерживаемых учётных записей

В этом примере выбран произвольный тип учётной записи. Вам необходимо выбрать тип, который подходит для вашего варианта использования.

  1. Укажите URI перенаправления, что-то вроде: https://<your-suitecrm-instance-host>/index.php?entryPoint=setExternalOAuthToken

Azure поддерживает только защищённые (https) соединения, за исключение тех случаев, когда в качестве хоста указывается localhost.

Пример неправильного URI:

  • http://my-suitecrm.com/index.php?entryPoint=setExternalOAuthToken

Пример правильного URI:

  • https://my-suitecrm.com/index.php?entryPoint=setExternalOAuthToken

  • http://localhost/index.php?entryPoint=setExternalOAuthToken

azure-Ввод данных регистрации

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

azure-main-app-registration-page.png

Здесь же отображается и идентификатор приложения (клиент), который позже понадобится в качестве ID клиента при настройке SuiteCRM.

azure-client-id.png

2.3. Создание секрета клиента

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

Нажмите на ссылку Добавить сертификат или секрет.

azure-добавить секрет.png

Откроется страница Сертификаты и секреты.

azure-cerfiticates-and-secrets-page.png

Для создания секрета нажмите на ссылку Новый секрет клиента.

azure-new-client-secret.png

На появившейся панели укажите описание секрета и его срок действия, после чего нажмите на кнопку Добавить.

azure-add-a-client-secret-sidebar.png

На странице Сертификаты и секреты появится соответствующая строка:

azure-new-client-secret.png

Скопируйте секрет, нажав на иконку справа от значения, и сохраните его в надёжном месте.
Более это значение не будет доступно через интерфейс Microsoft Azure!

azure-secret-value.png

Вернитесь на страницу регистрации приложения, нажав на боковой панели ссылку Обзор.

azure-link-to-app-registration-overview.png

2.4. Определение разрешённых областей

На следующем шаге необходимо определить области, к которым SuiteCRM будет иметь доступ.

На странице регистрации приложения нажмите на кнопку Просмотреть разрешения API.

azure-view-api-permissions-link.png

Откроется страница Разрешения API

azure-view-api-permissions-link.png

Теперь добавьте области, к которым будет разрешён доступ. Нажмите на ссылку Добавить разрешение.

azure-add-permission-link.png

Появится панель запроса разрешений API.

azure-add-permission-sidebar-clean.png

Необходимо настроить разрешения в интерфейсе Microsoft Graph, который мы и выбираем.

azure-microsoft-graph-permissions-link.png

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

azure-microsoft-graph-permission-types.png

Выберите Делегированные разрешения.

azure-delegated-permissions-link.png

После чего отобразится список доступных разрешений.

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

azure-add-offline-access-permission.png

Повторите те же действия для разрешений:

  • IMAP.AccessAsUser.All

  • User.Read

azure-add-imap-permission.png azure-add-user-read-permission.png

После добавления указанных разрешений таблица разрешений скорее всего будет выглядеть следующим образом:

azure-api-permissions-page-with-values.png

Вернитесь на страницу регистрации приложения, нажав на боковой панели ссылку Обзор.

azure-link-to-app-registration-overview.png

2.5. Добавление URI перенаправления

На следующем шаге необходимо настроить проверку подлинности, указав URI перенаправления и другие соответствующие параметры.

Вернитесь на страницу регистрации приложения.

azure-main-app-registration-page.png

Нажмите на ссылку Добавить URI перенаправления.

azure-redirect-uri-link.png

Откроется страница Проверка подлинности, где уже будет указан настроенный ранее URI перенаправления.

azure-redirect-uri-list.png

В разделе Неявное предоставление разрешения и гибридные потоки выберите Токены доступа (используются для неявных потоков) и нажмите на кнопку Сохранить.

azure-enable-access-token.png

Вернитесь на страницу регистрации приложения, нажав на боковой панели ссылку Обзор.

azure-link-to-app-registration-overview.png

2.6. Получение информации о конечных точках

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

  • OAuth 2.0 authorization endpoint

  • OAuth 2.0 authorization endpoint (v2)

В верхней части страницы регистрации приложения..

azure-main-app-registration-page.png

нажмите на ссылку Конечные точки.

azure-endpoints-link.png

После чего отобразится боковая панель.

azure-endpoints-sidebar.png

Скопируйте и сохраните указанные ниже конечные точки. В дальнейшем они будут использованы в настройках SuiteCRM.

azure-required-endpoints.png

3. Настройка провайдера Microsoft в SuiteCRM

Ниже описаны настройки группового провайдера, который может быть использован несколькими пользователями SuiteCRM. Описанный сценарий будет полезен только в том случае, если приложение зарегистрировано в Azure для учётных записей, находящихся в одном домене, обычно это учетные записи, которые не являются учётными записями @outlook и им подобными.

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

Войдите в SuiteCRM под учётной записью администратора и откройте панель администрирования.

Откройте настройку Внешние провайдеры OAuth.

suitecrm-external-oauth-provider-module.png

В качестве администраторы системы вам доступно создание двух видов записей:

  • Персональные провайдеры OAuth

    • Доступны только создавшим их пользователям

    • Предназначены для настройки доступа к личным учётным записям у различных провайдеров, без личного домена. Например, для настройки доступа к вашим учетным записям @gmail или @outlook. Они могут иметь общие настройки группы, поскольку значения полей ID клиента, Секрет клиента и других будут уникальными для каждой учётной записи.

  • Групповые провайдеры OAuth

    • Могут быть использованы несколькими пользователями

    • Предназначены для использования всеми пользователями, имеющими учётные записи в одном и том же домене, например - @example-inc.onmicrosoft.com. Значения полей ID клиента, Секрет клиента и других будут одинаковыми для всех учётных записей, использующих этот домен.

Как уже упоминалось ранее, мы собираемся настроить провайдера, который будет использоваться несколькими пользователями, поэтому в следующем примере будет создана групповая запись.

  1. В меню модуля выберите пункт Создать группового провайдера OAuth и заполните следующие поля:

suitecrm-connector-selection.png

Название

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

Подключение

Выберите Microsoft. Подключение Microsoft работает так же, как и подключение Generic. Разница в том, что в первом случае используются несколько встроенных значений по умолчанию. Это избавляет вас от лишних шагов настройки и упрощает процесс подключения внешнего провайдера OAuth.

Область

Добавьте Области, к которым вы хотите получить доступ: эти значения вы уже настроили ранее на странице разрешений API.

  • offline_access

  • https://outlook.office.com/IMAP.AccessAsUser.All

  • User.Read

ID клиента

Добавьте идентификатор клиента, созданный ранее в Azure.

Секрет клиента

Добавьте созданный ранее в Azure секрет клиента.

URI сервера авторизации

Добавьте значение, скопированное ранее из конечных точек Azure (OAuth 2.0 authorization endpoint (v2)).

URI токена доступа

Добавьте значение, скопированное ранее из конечных точек Azure (OAuth 2.0 token endpoint (v2)).

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

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

  1. Нажмите на кнопку Сохранить.

4. Настройка входящей почты пользователя

Теперь пользователи должны иметь возможность использовать созданного вами поставщика OAuth для аутентификации в Microsoft.

Перейдите к разделу Настройка входящих E-mail с использованием OAuth, чтобы узнать, какие шаги необходимо предпринять пользователям для настройки входящей электронной почты с использованием OAuth.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.