Microsoft Azure 登录身份验证

Microsoft Azure OAuth 登录身份验证是一项非常有用的功能,可让 Odoo 用户使用其 Microsoft Azure 账户登录数据库。

如果组织使用 Azure Workspace,并希望组织内的员工使用他们的 Microsoft 账户连接到 Odoo,这将尤其有用。

警告

Odoo.com 托管的数据库不应使用 OAuth 登录数据库的所有者或管理员,因为这将解除数据库与其 Odoo.com 账户的链接。如果为该用户设置了 OAuth,数据库将无法再从 Odoo.com 门户进行复制、重命名或其他管理。

配置

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

Odoo 系统参数

首先激活 开发者模式,然后进入 设置 ‣ 技术‣ 系统参数

点击 创建,在出现的新/空白表单中,在 Key 字段中添加以下系统参数 auth_oauth.authorization_header,并将 Value 设为 1。然后单击 :guilabel:`保存`即可完成。

Microsoft Azure 仪表板

创建一个新的应用程序

现在,Odoo 中的系统参数已经设置完毕,是时候在 Microsoft Azure 中创建相应的应用程序了。要开始创建新应用程序,请访问 Microsoft’s Azure Portal。如果有 Microsoft Outlook Office 365 帐户,请使用该帐户登录;否则,请使用个人 :guilabel:`Microsoft 帐户`登录。

重要

具有 Azure 设置 管理权限的用户必须连接并执行以下配置步骤。

接下来,导航到标有 Manage Microsoft Entra ID (正式名称为 Azure Active Directory)的部分。该链接的位置通常在页面中央。

现在,点击顶部菜单中的 Add (+) 图标,然后从下拉菜单中选择 App registration。在 Register an application 屏幕上,将 Name 字段重命名为 Odoo Login OAuth 或类似的可识别标题。在 Supported account types 部分中选择 :guilabel:`Accounts in this organizational directory only (Default Directory only - Single tenant)`选项。

警告

支持的账户类型 可能因微软账户类型和 OAuth 的最终用途而异。例如: 登录是用于一个组织的内部用户,还是用于客户门户访问?上述配置用于一个组织的内部用户。

如果目标受众是门户用户,请选择 仅限个人 Microsoft 帐户。如果目标受众是公司用户,请选择 仅本组织目录中的账户(仅默认目录 - 单租户)

重定向 URL 部分,选择 网页 作为平台,然后在 URL 字段中输入 https://1/auth_oauth/signin。在 URL 字段中,Odoo的基本:abbr:URL(统一资源定位器)`是您的 Odoo 实例可以到达的规范域(例如,*mydatabase.odoo.com*,如果您的主机在 Odoo.com)。然后,点击 :guilabel:`注册,应用程序即可创建。

身份验证

在重定向到上一步的应用程序设置后,点击左侧菜单中的 认证 菜单项,编辑新应用程序的身份验证。

接下来,将选择 OAuth 身份验证所需的*令牌*类型。这些不是货币令牌,而是在微软和 Odoo 之间传递的身份验证令牌。因此,这些令牌无需任何费用;它们仅用于两个 :abbr:`API(应用程序编程接口)`之间的身份验证目的。向下滚动屏幕并选中标有:guilabel:`访问令牌(用于隐式流程)`和 :guilabel:`ID tokens(用于隐式和混合流程)`的复选框,以选择授权端点应签发的令牌。

身份验证设置和端点令牌。

单击 保存 以确保保存这些设置。

收集凭证

在 Microsoft Azure 控制台中创建并验证应用程序后,接下来将收集凭证。为此,请单击左侧栏中的 概览 菜单项。在出现的窗口中选择并复制 应用(客户) ID。将此凭证粘贴到剪贴板/记事本中,因为稍后在 Odoo 配置中将使用此凭证。

完成此步骤后,单击顶部菜单中的 终端 并单击 OAuth 2.0 授权端点 (v2) 字段旁边的 复制图标。将此值粘贴到剪贴板/记事本中。

应用程序 ID 和 OAuth 2.0 授权端点 (v2) 凭据。

Odoo 设置

最后,Microsoft Azure OAuth 配置的最后一步是在 Odoo 中进行设置。导航至 设置 ‣ 整合 ‣ OAuth 认证 并选中复选框以激活 OAuth 登录功能。点击 保存 以确保保存进度。然后,在登录屏幕加载后登录数据库。

再次,导航至 设置 ‣ 整合 ‣ OAuth 认证 并点击 OAuth 提供商。现在,选择左上角的 新建,并将提供程序命名为 Azure

将上一节中的 应用程序(客户)ID 粘贴到 客户 ID 字段。完成此操作后,将新的 OAuth 2.0 授权端点 (v2) 值粘贴到 认证 URL 字段。

UserInfo URL 字段中,粘贴以下 URL (统一资源定位符)https://graph.microsoft.com/oidc/userinfo

在:guilabel:范围 字段中粘贴以下值:openid profile email。然后,在 CSS class 字段中输入以下值:fa fa-fw fa-windows,即可将 Windows 徽标用作登录屏幕的 CSS 类。

选中 Allowed 字段旁边的复选框以启用 OAuth 提供商。最后,在 登录按钮标签 字段中添加 Microsoft Azure。此文本将显示在登录页面的 Windows 徽标旁边。

设置应用程序中的 Odoo 提供商设置。

:guilabel:`保存`更改,以完成 Odoo 中的 OAuth 身份验证设置。

用户体验流

要使用 Microsoft Azure 登录 Odoo,用户必须访问 Odoo密码重置页面。这是 Odoo 链接 Microsoft Azure 账户并允许用户登录的唯一方式。

注解

现有用户必须:ref:重置密码 <users/reset-password> 访问 Odoo 密码重置页面。新 Odoo 用户必须点击通过电子邮件发送的新用户邀请链接,然后点击 Microsoft Azure。用户不应设置新密码。

要使用 Microsoft Azure OAuth 提供商首次登录 Odoo,请导航至 Odoo密码重置页面`(使用新用户邀请链接)。此时会出现密码重置页面。然后,点击标有 :guilabel:`Microsoft Azure 的选项。页面将重定向到 Microsoft 登录页面。

Microsoft Outlook 登录页面。

输入 Microsoft 电子邮件地址,然后单击 下一步。按照流程登录账户。如果已打开 2FA(双因素验证),则可能需要额外步骤。

输入 Microsoft 登录凭证。

最后,登录账户后,页面将重定向到权限页面,在该页面中,用户将被提示 :guilabel:`接受`Odoo 应用程序访问其 Microsoft 信息的条件。

接受 Microsoft 允许访问您的帐户信息的条件。