Автентифікація входу Microsoft Azure

Автентифікація входу OAuth Microsoft Azure є корисною функцією, яка дозволяє користувачам Odoo входити до своєї бази даних за допомогою свого облікового запису Microsoft Azure.

Це особливо корисно, якщо організація використовує Azure Workspace і хоче, щоб співробітники організації підключалися до Odoo, використовуючи свої облікові записи Microsoft.

Попередження

Бази даних, розміщені на Odoo.com, не повинні використовувати вхід OAuth для власника або адміністратора бази даних, оскільки це від’єднає базу даних від їхнього облікового запису Odoo.com. Якщо OAuth налаштовано для цього користувача, базу даних більше не можна буде дублювати, перейменовувати або керувати нею іншим чином з порталу Odoo.com.

Налаштування

Інтеграція функції входу Microsoft вимагає налаштування в Microsoft та Odoo.

Системний параметр Odoo

Спочатку активуйте режим розробника, а потім перейдіть до Налаштування ‣ Технічні ‣ Системні параметри.

Натисніть Створити, і в порожньому рядку, що з’явиться, додайте наступний системний параметр auth_oauth.authorization_header у поле Ключ та встановіть Значення 1. Потім натисніть Зберегти, щоб завершити.

Дашборд Microsoft Azure

Створення нового застосунку

Тепер, коли системні параметри в Odoo налаштовано, настав час створити відповідний додаток у Microsoft Azure. Щоб почати створення нового додатка, перейдіть на портал Microsoft Azure. Увійдіть за допомогою облікового запису Microsoft Outlook Office 365, якщо він є, інакше увійдіть за допомогою особистого облікового запису Microsoft.

Важливо

Користувач з адміністративним доступом до налаштувань Azure повинен підключитися та виконати наступні кроки налаштування.

Далі перейдіть до розділу Manage Microsoft Entra ID (раніше Azure Active Directory). Це посилання зазвичай розташоване в центрі сторінки.

Тепер натисніть на значок Add (+), розташований у верхньому меню, а потім виберіть App registration зі спадного меню. На екрані Register an application перейменуйте поле Name на Odoo Login OAuth або іншу впізнавану назву. У розділі Supported account types виберіть параметр Accounts in this organizational directory only (Default Directory only - Single tenant).

Попередження

Supported account types можуть відрізнятися залежно від типу облікового запису Microsoft та кінцевого використання OAuth. Наприклад: чи призначений вхід для внутрішніх користувачів в організації, чи для доступу до порталу клієнтів? Наведена вище конфігурація використовується для внутрішніх користувачів в організації.

Виберіть Personal Microsoft accounts only, якщо цільова аудиторія - користувачі порталу. Виберіть Accounts in this organizational directory only (Default Directory only - Single tenant), якщо цільова аудиторія - користувачі компанії.

У розділі Redirect URL виберіть Web як платформу, а потім введіть https://<odoo base url>/auth_oauth/signin у полі URL. Базова URL-адреса Odoo - це канонічний домен, за яким можна отримати доступ до вашого екземпляра Odoo (наприклад, mydatabase.odoo.com, якщо ви розміщені на Odoo.com) у полі URL. Потім натисніть Register, і додаток буде створено.

Аутентифікація

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

Далі буде обрано тип токенів, необхідних для автентифікації OAuth. Це не валютні токени, а токени автентифікації, які передаються між Microsoft і Odoo. Тому за ці токени не потрібно платити; вони використовуються лише для автентифікації між двома API. Виберіть токени, які повинні видаватися кінцевою точкою авторизації, прокрутивши екран вниз і поставивши прапорці: Access tokens (used for implicit flows) та ID tokens (used for implicit and hybrid flows).

Налаштування автентифікації та токени кінцевих точок.

Натисніть Save, щоб зберегти ці налаштування.

Збір облікових даних

Після створення та автентифікації додатка в консолі Microsoft Azure далі будуть зібрані облікові дані. Для цього натисніть пункт меню Overview у лівому стовпці. Виберіть і скопіюйте Application (client) ID у вікні, що з’явиться. Вставте ці облікові дані в буфер обміну / блокнот, оскільки вони будуть використані в конфігурації Odoo пізніше.

Після завершення цього кроку натисніть Endpoints у верхньому меню та натисніть значок копіювання поруч із полем OAuth 2.0 authorization endpoint (v2). Вставте це значення в буфер обміну / блокнот.

Облікові дані Application ID та OAuth 2.0 authorization endpoint (v2).

Дозволи API

Odoo потрібен дозвіл на читання інформації профілю користувача, який увійшов у систему, з Microsoft Graph під час потоку OAuth. Як мінімум, переконайтеся, що делеговане дозвіл User.Read надано в реєстрації застосунку Azure. Інакше процес входу може не вдатися або не зможе правильно зв’язати обліковий запис Microsoft з користувачем Odoo.

Примітка

User.Read часто додається автоматично для нових реєстрацій застосунків, але його слід явно перевірити тут.

Щоб налаштувати це, натисніть пункт меню Керування у лівому стовпці, а потім:

  1. Натисніть Дозволи API у лівому меню.

  2. Натисніть (+) Додати дозвіл.

  3. Виберіть Microsoft Graph у розділі Часто використовувані API Microsoft.

  4. Виберіть Делеговані дозволи.

  5. Знайдіть User.Read, виберіть його та натисніть Додати дозволи.

Налаштування Odoo

Нарешті, останнім кроком у налаштуванні Microsoft Azure OAuth є завершення налаштування в Odoo. Перейдіть до Налаштування ‣ Інтеграції і встановіть прапорець для Автентифікація OAuth. Натисніть Зберегти, щоб зберегти зміни та оновити сторінку. Прокрутіть вниз до розділу Інтеграції і натисніть Провайдери OAuth. Потім натисніть Створити.

Введіть Назву провайдера як Azure. Вставте Ідентифікатор програми (клієнта) з попереднього розділу в поле Ідентифікатор клієнта. Після цього вставте нове значення Кінцева точка авторизації OAuth 2.0 (v2) у поле URL авторизації.

Для поля UserInfo URL вставте наступну URL-адресу: https://graph.microsoft.com/oidc/userinfo

У полі Scope вставте наступне значення: openid profile email. Далі логотип Windows можна використовувати як CSS-клас на екрані входу, ввівши наступне значення: fa fa-fw fa-windows у полі CSS-клас.

Встановіть прапорець біля поля Дозволено, щоб увімкнути OAuth-провайдер. Нарешті, додайте Microsoft Azure у поле Напис на кнопці входу. Цей текст з’явиться поруч із логотипом Windows на сторінці входу.

Налаштування провайдера Odoo у застосунку Налаштування.

Збережіть зміни, щоб завершити налаштування OAuth-автентифікації в Odoo.

Сценарії взаємодії користувача

Щоб увійти в Odoo за допомогою Microsoft Azure, користувач повинен перебувати на сторінці скидання пароля Odoo. Це єдиний спосіб, яким Odoo може пов’язати обліковий запис Microsoft Azure і дозволити користувачеві увійти.

Примітка

Існуючі користувачі повинні скинути свій пароль, щоб отримати доступ до сторінки скидання пароля Odoo. Нові користувачі Odoo повинні натиснути на посилання запрошення нового користувача, надіслане електронною поштою, а потім натиснути Microsoft Azure. Користувачі не повинні встановлювати новий пароль.

Щоб вперше увійти в Odoo за допомогою OAuth-провайдера Microsoft Azure, перейдіть на сторінку скидання пароля Odoo (використовуючи посилання запрошення нового користувача). З’явиться сторінка скидання пароля. Потім натисніть на параметр Microsoft Azure. Сторінка переспрямує на сторінку входу Microsoft.

Введіть адресу електронної пошти Microsoft і натисніть Далі. Виконайте процедуру входу в обліковий запис. Якщо ввімкнено 2FA, може знадобитися додатковий крок.

Нарешті, після входу в обліковий запис сторінка переспрямує на сторінку дозволів, де користувачу буде запропоновано прийняти умови доступу застосунку Odoo до його інформації Microsoft.