我什至不确定这是否可行,但我无法在任何 kb、帮助或文档中找到明确的答案。
我有一个通过 ACS 保护的 WebAPI。应用程序使用服务身份通过 ACS 和我的 WebAPI 进行身份验证以允许访问。我想做的是为服务身份提出声明以识别个人身份。例如,服务标识 A 提供类型和 ID,服务标识 B 为相同的声明类型提供不同的值,然后我的 WebAPI 可以根据声明值授权特定的调用。
目前,我通过使用输出声明和通过 ACS 门户设置声明值的规则组实现了这一点,但是规则组应用于访问依赖应用程序(我的 WebAPI)的所有服务身份,我需要的是让每个服务身份都具有不同的索赔价值。
由于所有通信都是服务到服务,因此我计划使用 ACS 而不是其他身份提供商,例如 Live/Microsoft Account 或 Google。然而,目前我能得出的唯一结论是实施我自己的自定义 STS 来提供声明值。
我希望我已经清楚地解释了我的场景,任何人都可以提供帮助,我如何为单个服务身份设置声明值,或者我应该以不同的方式这样做?
谢谢
安德鲁