[TITLE]
Microsoft Azure 登录认证在 Odoo 中的完整配置指南

[DESCRIPTION]
本文详细介绍如何在 Odoo 中通过 Microsoft Azure OAuth 实现单点登录,包括系统参数设置、Azure 应用注册、认证配置、凭证获取、API 权限授予以及在 Odoo 前端的使用流程,帮助企业快速集成 Azure 登录并避免常见风险。

[KEYWORDS]
Microsoft Azure, Odoo, OAuth 登录, Azure AD, 单点登录, API 权限, 开发者模式, Azure 应用注册, 用户体验, 配置步骤

Microsoft Azure 登录认证

Microsoft Azure OAuth 登录认证是一项实用功能,允许 Odoo 用户使用 Microsoft Azure 账户登录其数据库。

如果组织使用 Azure Workspace,并希望组织内部员工通过 Microsoft 账户连接 Odoo,这将特别有帮助。

:::: warning
::: title
警告
:::
在 Odoo.com 上托管的数据库不应为数据库所有者或管理员使用 OAuth 登录,否则会将数据库与其 Odoo.com 账户解除关联。若为该用户设置了 OAuth,数据库将无法再在 Odoo.com 门户中复制、重命名或进行其他管理操作。
::::

::: seealso

  • ../../productivity/calendar/outlook
    ../email_communication/azure_oauth
    :::

在 Microsoft 与 Odoo 中集成登录功能需要进行相应配置。

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

点击 新建,在出现的空行中将系统参数 [auth_oauth.authorization_header] 填入 字段, 设置为 [1](请根据实际情况填写),随后点击 保存 完成。

在 Odoo 中完成系统参数设置后,需要在 Microsoft Azure 中创建对应的应用。打开 Microsoft Azure 门户,使用 Microsoft Outlook Office 365 账户登录(若没有则使用个人 Microsoft 账户)。

:::: important
::: title
重要
:::
拥有 Azure 设置管理员权限的用户必须登录并完成以下配置步骤。
::::

在页面中心找到 管理 Microsoft Entra ID(原 Azure Active Directory)链接。

点击顶部菜单的 添加 (+) 图标,选择 应用注册。在 注册应用程序 页面,将 名称 改为 Odoo Login OAuth(或其他易识别的名称)。在 支持的账户类型 中选择 仅此组织目录中的账户(单租户)

:::: warning
::: title
警告
:::
支持的账户类型 取决于使用场景:

  • 若登录面向组织内部用户,请选择 仅此组织目录中的账户(单租户)
  • 若面向外部门户用户,请选择 仅个人 Microsoft 账户
    ::::

重定向 URI 区域,平台选择 Web,在 URI 字段填写 https://<odoo 基础 URL>/auth_oauth/signin(例如 mydatabase.odoo.com),随后点击 注册,完成应用创建。

在左侧菜单中点击 认证,进入应用设置页面。

令牌 部分,勾选 Access tokens (used for implicit flows)ID tokens (used for implicit and hybrid flows),然后保存。

在左侧栏点击 概览,复制 应用程序 (客户端) ID,保存备用。

随后点击顶部的 端点,在 OAuth 2.0 授权端点 (v2) 旁点击复制图标,将该链接也保存。

Odoo 需要读取登录用户的 Microsoft Graph 个人信息,至少需要授予 User.Read 委托权限。

:::: note
::: title
备注
:::
User.Read 通常在新应用注册时默认添加,但仍需在此处确认。
::::

操作步骤:

  1. 在左侧栏点击 管理API 权限
  2. 点击 (+)添加权限
  3. 选择 Microsoft Graph委托权限
  4. 搜索并勾选 User.Read,然后 添加权限

在 Odoo 中完成 Azure OAuth 配置的最后一步:

  1. 前往 设置 → 集成,勾选 OAuth 认证,保存并刷新页面。
  2. 向下滚动至 集成 区域,点击 OAuth 提供商新建
  3. 填写 提供商名称Azure
  4. 将前文复制的 应用程序 (客户端) ID 粘贴到 客户端 ID 字段。
  5. OAuth 2.0 授权端点 (v2) 粘贴到 授权 URL 字段。
  6. UserInfo URL 填写 https://graph.microsoft.com/oidc/userinfo
  7. Scope 填写 openid profile email
  8. CSS 类 填写 fa fa-fw fa-windows(用于登录页面的 Windows 图标)。
  9. 勾选 允许,并在 登录按钮标签 填写 Microsoft Azure

保存后,即完成 Odoo 中的 OAuth 认证配置。

用户需在 Odoo 密码重置页面 进行登录,这是 Odoo 能够将 Microsoft Azure 账户关联并实现登录的唯一入口。

:::: note
::: title
备注
:::

  • 已有用户必须 重置密码 才能进入该页面。
  • 新用户通过邮件邀请链接进入后,点击 Microsoft Azure 即可,无需设置新密码。
    ::::

首次使用 Azure OAuth 登录 Odoo 时的步骤:

  1. 通过新用户邀请链接打开 Odoo 密码重置页面
  2. 点击 Microsoft Azure,页面跳转至 Microsoft 登录页。
  3. 输入 Microsoft 邮箱地址,点击 下一步,完成登录(若启用 2FA,则需额外验证)。
  4. 登录成功后,系统会弹出权限授权页,用户点击 接受 即可完成授权,随后返回 Odoo。

[SUMMARY]

  • Microsoft Azure 登录认证
    • 背景与警告
      • 不建议在 Odoo.com 数据库上使用 OAuth 登录管理员
    • 配置步骤
      • Odoo 系统参数
        • 启用开发者模式
        • 添加 auth_oauth.authorization_header 参数
      • Azure 仪表盘
        • 创建新应用
          • 注册应用名称(如 Odoo Login OAuth)
          • 选择账户类型(单租户或个人)
          • 设置重定向 URI
        • 认证设置
          • 勾选 Access token、ID token
        • 收集凭证
          • 应用 (客户端) ID
          • OAuth 2.0 授权端点 (v2)
        • API 权限
          • 添加 Microsoft Graph → 委托权限 → User.Read
      • Odoo 设置
        • 启用 OAuth 认证
        • 新建 OAuth 提供商
          • 填写 Provider name、Client ID、Authorization URL、UserInfo URL、Scope、CSS 类、Login button label
    • 用户体验流程
      • 必须通过 Odoo 密码重置页面启动登录
      • 点击 Microsoft Azure → Microsoft 登录 → 完成 2FA(如有) → 授权接受 → 返回 Odoo