如何在自定义应用中对Dynamics 365 Portal联系人进行身份验证与授权
问题解答
能否编写JavaScript自定义应用完成CE联系人身份验证并访问CE数据?
可以,不同验证方式的实现逻辑如下:
- Azure AD B2C/OAuth验证:先完成CE联系人记录与B2C用户账号的唯一映射绑定,B2C完成用户身份校验后,通过OAuth On-Behalf-Of流,或调用Dataverse模拟接口,将操作身份绑定到对应CE联系人,即可按该联系人的权限范围访问CE数据,该方案适配JS单页应用、Node.js后端配合JS前端的各类场景。
- 本地身份验证:自行实现本地身份校验逻辑,完成身份核验后,通过预先在Azure AD注册的、拥有模拟用户权限的服务主体,调用Dataverse模拟API切换操作身份为对应CE联系人即可,注意需自行保障本地身份与CE联系人映射关系的准确性,避免权限越界。
能否使用App Permissions实现该需求?
可以,但需要额外配置模拟权限:
纯Application Permissions默认是给应用本身授予CE/Dataverse访问权限,操作身份为应用而非指定联系人。你需要给应用对应的服务主体额外授予prvActOnBehalfOfAnotherUser权限,调用CE接口时在请求头中添加MSCRMCallerID字段,字段值填入对应CE联系人的ID,即可实现以该联系人身份访问CE数据的效果。
内容的提问来源于stack exchange,提问作者user210757
相关产品推荐
相关产品推荐

