如何无需Azure AD注册,通过用户名密码实现Dynamics CRM与Postman集成?
无需Azure AD注册,通过用户名密码实现Dynamics CRM与Postman集成
适用场景
仅适用于支持用户名密码身份验证的Dynamics CRM环境(如旧版Dynamics 365 Online、配置ADFS的本地部署),注意:该方式安全性较低,微软已不推荐用于生产环境,仅建议测试使用。
前提条件
- 拥有Dynamics CRM的有效用户名(完整邮箱格式,如
user@yourorg.onmicrosoft.com)和密码,且用户具备Web API访问权限 - 已获取CRM实例的Web API根地址(如
https://yourorg.crm.dynamics.com)和AAD租户ID(可从CRM「设置>自定义>开发人员资源」中获取)
步骤1:获取访问令牌
在Postman中创建POST请求,用于获取CRM API的访问令牌:
- 请求URL:
https://login.microsoftonline.com/{tenant-id}/oauth2/token(替换{tenant-id}为你的租户ID) - 请求头:添加
Content-Type: application/x-www-form-urlencoded - 请求体(选择
x-www-form-urlencoded格式),填入以下参数:grant_type:passwordclient_id:51f81489-12ee-4a9e-aaae-a2591f45987d(微软预定义的Dynamics CRM公共客户端ID,无需自行注册AAD应用)resource: 你的CRM Web API根地址(如https://yourorg.crm.dynamics.com)username: 你的CRM完整用户名password: 你的CRM用户密码
发送请求后,响应中会返回access_token字段,复制该值备用。
步骤2:调用CRM Web API
创建新的API请求(GET/POST/PUT/DELETE均可),以查询账户列表为例:
- 请求URL:
https://yourorg.crm.dynamics.com/api/data/v9.2/accounts(替换为你需要调用的API端点) - 请求头:
Authorization: Bearer {access_token}(替换{access_token}为步骤1中获取的令牌)Content-Type: application/json(POST/PUT请求必填)
- 根据API需求填写请求体(如创建账户时需传入JSON格式的账户数据)
发送请求即可获取CRM返回的数据。
关键注意事项
- 若CRM启用了多因素认证(MFA),该方式会直接失效,ROPC流不支持MFA
- 明文传递密码存在泄露风险,生产环境请使用AAD应用注册+授权码流等安全认证方式
- 部分新租户可能限制公共客户端ID的使用,若遇错误需确认租户权限配置
内容的提问来源于stack exchange,提问作者Muhammad Usman Khan
相关产品推荐
相关产品推荐

