Microsoft Azure 登入驗證

Microsoft Azure OAuth 登入驗證是一個實用的功能,可讓 Odoo 使用者使用其 Microsoft Azure 帳戶登入其資料庫。

如果組織使用 Azure Workspace,並希望組織內的員工使用其 Microsoft 帳戶連線到 Odoo,這將特別有用。

警告

託管於 Odoo.com 上的資料庫不應為資料庫的擁有者或管理員使用 OAuth 登入,因為這會將資料庫與其 Odoo.com 帳戶取消連結。如果為該使用者設定 OAuth,則該資料庫將無法再從 Odoo.com 門戶網站進行複製、重新命名或以其他方式管理。

配置

整合 Microsoft 登入功能需要在 Microsoft 和 Odoo 上進行配置。

Odoo 系統參數

首先啟動開發者模式,然後前往設定 ‣ 技術 ‣ 系統參數。

按一下:guilabel:新增,在出現的空白列中,將系統參數 auth_oauth.authorization_header 加入:guilabel:鍵`欄位,並將:guilabel:`值`設為 `1。然後按一下:guilabel:`儲存`以完成。

Microsoft Azure Dashboard

建立新應用程式

現在 Odoo 中的系統參數已設定完成,接下來要在 Microsoft Azure 中建立對應的應用程式。若要開始建立新應用程式,請前往 `Microsoft 的 Azure 入口網站<https://portal.azure.com/>`_。如果有Microsoft Outlook Office 365帳戶,請使用該帳戶登入,否則請使用個人Microsoft 帳戶登入。

重要

具有 Azure 設定 管理存取權限的使用者必須連線並執行以下配置步驟。

接下來,導覽至標示為管理 Microsoft Entra ID(正式名稱為 Azure Active Directory)的區段。此連結通常位於頁面中央。

現在,按一下位於頂部選單的新增 (+)圖示,然後從下拉式選單中選擇應用程式註冊。在註冊應用程式畫面上,將名稱欄位重新命名為 Odoo Login OAuth 或類似的可識別標題。在支援的帳戶類型區段下,選擇僅限此組織目錄中的帳戶(僅限預設目錄 - 單一租用戶)選項。

警告

支援的帳戶類型可能因 Microsoft 帳戶類型和 OAuth 的最終用途而異。例如:登入是針對組織內的內部使用者,還是針對客戶門戶網站存取?上述配置用於組織中的內部使用者。

如果目標受眾是門戶網站使用者,請選擇僅限個人 Microsoft 帳戶。如果目標受眾是公司使用者,請選擇僅限此組織目錄中的帳戶(僅限預設目錄 - 單一租用戶)。

在重新導向網址區段下,選擇Web作為平台,然後在網址欄位中輸入 https://<odoo base url>/auth_oauth/signin。Odoo 基礎網址(統一資源定位符)是可以存取您的 Odoo 實例的規範域名(例如,如果您託管於 Odoo.com 上,則為 mydatabase.odoo.com),請在網址欄位中輸入。然後按一下註冊,應用程式即建立完成。

驗證

從上一步被重新導向至應用程式的設定後,按一下左側選單中的驗證選單項目,以編輯新應用程式的驗證。

然後,將選擇 OAuth 身份驗證所需的 權杖 類型。它們是在微軟與 Odoo 之間傳遞的身份驗證權杖。因此,這些權杖無需任何費用;它們只會用於兩個 API 之間,用作身份驗證用途。向下滾動螢幕,並選取 存取權杖(用於隱式流程) 及 識別碼權杖(用於隱式及混合流程) 的勾選方格,以選擇授權終端點應簽發的權杖。

驗證設定和端點權杖。

按一下:guilabel:`儲存`以確保這些設定已儲存。

收集憑證

在 Microsoft Azure 控制台中建立並驗證應用程式後,接下來將收集憑證。為此,按一下左側欄中的:guilabel:概觀`選單項目。在出現的視窗中選擇並複製:guilabel:`應用程式 (用戶端) 識別碼。將此憑證貼到剪貼簿/記事本中,因為稍後在 Odoo 配置中會用到此憑證。

完成此步驟後,按一下頂部選單上的:guilabel:端點,然後按一下:guilabel:`OAuth 2.0 授權端點 (v2)`欄位旁邊的*複製圖示*。將此值貼到剪貼簿/記事本中。

應用程式識別碼和 OAuth 2.0 授權端點 (v2) 憑證。

API 權限

Odoo 需要權限才能在 OAuth 流程期間從 Microsoft Graph 讀取已登入使用者的個人資料資訊。請至少確保已在 Azure 應用程式註冊上授予委派權限:guilabel:User.Read。否則,登入程序可能會失敗或無法正確將 Microsoft 帳戶連結至 Odoo 使用者。

備註

User.Read 通常預設會為新的應用程式註冊加入,但應在此明確驗證。

若要進行配置,請按一下左欄中的:guilabel:`管理`選單項目,然後:

  1. 按一下左側選單中的:guilabel:API 權限。

  2. 按一下:guilabel:(+) 新增權限。

  3. 在:guilabel:常用的 Microsoft API 下方選取:guilabel:Microsoft Graph。

  4. 選擇:guilabel:委派的權限。

  5. 搜尋:guilabel:User.Read,選取它,然後按一下:guilabel:新增權限。

Odoo 設定

最後,Microsoft Azure OAuth 配置的最後一步是在 Odoo 中完成設定。前往:menuselection:設定 --> 整合,並勾選:guilabel:OAuth 驗證`的勾選方格。按一下:guilabel:`儲存`以儲存變更並重新整理頁面。向下捲動至:menuselection:`整合`區段,然後按一下:guilabel:`OAuth 提供者。接著按一下:guilabel:新增。

在:guilabel:提供者名稱`中輸入 `Azure。將上一節中的:guilabel:應用程式 (用戶端) 識別碼`貼上至:guilabel:`用戶端識別碼`欄位。完成此操作後,將新的:guilabel:`OAuth 2.0 授權端點 (v2) 值貼上至:guilabel:`授權網址`欄位。

在:guilabel:使用者資訊網址`欄位中,貼上以下:abbr:`網址:https://graph.microsoft.com/oidc/userinfo

在:guilabel:範圍`欄位中,貼上以下值:`openid profile email。接下來,可以在登入畫面上使用 Windows 標誌作為 CSS 類別,方法是在:guilabel:CSS 類別`欄位中輸入以下值:`fa fa-fw fa-windows。

勾選:guilabel:允許`欄位旁邊的方塊以啟用 OAuth 提供者。最後,在:guilabel:`登入按鈕標籤`欄位中加入 `Microsoft Azure。此文字將出現在登入頁面的 Windows 標誌旁邊。

設定應用程式中的 Odoo 提供者設定。

:guilabel:`儲存`變更以完成 Odoo 中的 OAuth 驗證設定。

使用者體驗流程

使用者若要使用 Microsoft Azure 登入 Odoo,必須位於:menuselection:Odoo 密碼重設頁面。這是 Odoo 能夠連結 Microsoft Azure 帳戶並允許使用者登入的唯一方式。

備註

現有使用者必須:ref:重設其密碼 <users/reset-password>`才能存取:menuselection:`Odoo 密碼重設頁面。新 Odoo 使用者必須按一下透過電子郵件傳送的新使用者邀請連結,然後按一下:guilabel:Microsoft Azure。使用者不應設定新密碼。

若要首次使用 Microsoft Azure OAuth 提供者登入 Odoo,請導覽至:menuselection:`Odoo 密碼重設頁面`(使用新使用者邀請連結)。應該會出現密碼重設頁面。然後,按一下標示為:guilabel:`Microsoft Azure`的選項。頁面將重新導向至 Microsoft 登入頁面。

輸入:guilabel:Microsoft 電子郵件地址`並按一下:guilabel:`下一步。按照流程登入帳戶。若已開啟:abbr:雙重驗證,則可能需要額外步驟。

最後,登入帳戶後,頁面將重新導向至權限頁面,系統會提示使用者:guilabel:`接受`允許 Odoo 應用程式存取其 Microsoft 資訊的條件。