如何模拟给定电子邮件地址的联盟用户

时间:2019-10-15 13:55:37

标签: azure-ad-b2c

我有一个自定义策略,该策略允许少数用户以自己的身份进行身份验证,然后输入他们需要模拟的其他用户的电子邮件地址(用于帮助台呼叫等)。 AAD B2C目录中的用户分为两种类型:1)本地用户(第三方合作伙伴)和2)来自我们内部公司AAD的联盟用户。模拟本地用户正在工作。该解决方案基于示例github.com/azure-ad-b2c/samples/tree/master/policies /

无法正常工作的是模拟联合用户。我想做的是根据otherMails(在活动用户中是唯一的)读取用户,但是当我尝试上传自定义策略,并采取步骤通过otherMails从B2C目录读取用户时,我得到了策略'B2C_1A_Impersonation'的Azure Active Directory提供程序技术配置文件'SelfAsserted-TargetEmailExchangeFederated'不支持验证消息'.Input Claim'otherMails'。

在基本策略中定义了“ otherMails”,因此似乎不支持对其进行“读”操作。如果尝试使用mailNickname属性,则会收到相同的错误消息。我可以通过其他属性(例如employeeId或immutableId)成功上传并运行策略搜索,但是这些属性还有其他限制(大小,唯一性),使它们无法在其中存储电子邮件地址。

是否可以通过其他邮件读取用户个人资料?

如果没有,我可以使用其他字段吗? (我尝试添加扩展属性,策略可以运行,但找不到该帐户)。

这两种方法中的任何一种都很短,是否可以通过自定义政策中的电子邮件从我们的公司AAD中读取帐户? (调用图形API等?)

1 个答案:

答案 0 :(得分:0)

如果对任何人都有用,我最终要做的是创建一个自定义api,该api包装图形api以根据输入的电子邮件查找身份,然后从模拟策略中调出该api。

类似于:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-custom-rest-api-netfw

供参考: Find a User by Email Address