You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现从Azure AD读取组织用户邮箱的Web应用集成?

端到端实现Azure AD用户邮箱导入Web应用的流程步骤

一、Azure AD应用注册与权限配置

  • 登录Azure门户,进入Azure Active Directory > 应用注册 > 新注册
    • 设置应用名称,账户类型选择「任何组织目录中的账户」(适配企业租户场景)
    • 重定向URI选择Web类型,填入你的Web应用回调地址
  • 注册完成后,进入该应用的API权限 > 添加权限
    • 选择Microsoft Graph > 应用权限(批量导入场景推荐使用应用权限,无需用户持续交互)
    • 根据需求勾选权限:如Mail.ReadBasic.All(仅读取邮箱基本信息)或User.Read.All(读取完整用户信息含邮箱),优先选择最小必要权限
    • 点击授予管理员同意(需由企业SysAdmin完成此操作,确保应用具备访问租户用户数据的权限)

二、Web应用集成Azure AD身份验证

  • 在Web应用中配置Azure AD身份验证(基于OAuth2.0/OpenID Connect协议):
    • 从Azure应用注册页面获取客户端ID、租户ID,并在「证书和密码」中生成客户端密钥
    • 实现管理员登录流程:引导企业SysAdmin跳转至Azure AD登录页面,完成身份验证后获取有效访问令牌

三、调用Microsoft Graph API导入用户邮箱

  • 使用应用权限令牌调用Microsoft Graph API获取用户邮箱数据:
    • 核心请求示例(伪代码):
      import requests
      
      auth_token = "获取到的应用权限访问令牌"
      request_headers = {"Authorization": f"Bearer {auth_token}"}
      api_endpoint = "https://graph.microsoft.com/v1.0/users?$select=mail,displayName,id"
      
      response = requests.get(api_endpoint, headers=request_headers)
      user_list = response.json().get("value", [])
      
      # 将user_list中的邮箱信息写入Web应用数据库
      for user in user_list:
          save_user_to_db(user["mail"], user["displayName"])
      
  • 处理分页:若租户用户数量较多,API会返回分页标识@odata.nextLink,需循环请求该链接直至获取全部用户数据

四、Azure Marketplace发布(可选)

若需让企业租户快速发现并部署你的应用,可将注册的Azure AD应用发布到Azure Marketplace:

  • 登录Azure Marketplace发布者门户,创建SaaS应用产品
  • 关联已注册的Azure AD应用,配置权限要求、定价等信息
  • 提交审核,通过后企业管理员可在Marketplace中直接安装应用,自动完成权限授予流程

内容的提问来源于stack exchange,提问作者alexarsh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:45:12