我正在使用AAD B2C来保护JavaScript应用程序和支持Web服务。用户可能与多个公司相关联,所以我打算使用一个下拉菜单,并允许用户选择他们希望在哪个环境下进行操作。
后端Web服务需要接收“上下文” ...所以我觉得我需要在用户通过身份验证之后向AAD B2C令牌添加一个值...或者我需要回叫AAD具有某种价值的B2C。
我找不到任何文档来证明这是可能的。
这是受支持的用户流吗?
答案 0 :(得分:1)
实现此方案的唯一方法是使用Custom Policies:在此方案中,消费者对您的方案中的多个租户具有各自的访问权限:
答案 1 :(得分:1)
您不能简单地向令牌“添加值”。该令牌是由MS(而不是您的应用)创建并签名的。
但是您可以定义自定义声明,并将其包含在令牌中。假设您将其命名为 Context ,它将是用户有权访问的公司的ID或名称的列表。成功登录后,带有此声明的令牌将返回到您的js,您可以解析它以获取要显示在下拉列表中的单个项目(公司)。用户从下拉列表中选择了首选上下文之后,您可以将它作为一个额外的参数而不是作为令牌的一部分传递给后端Web服务。
可以通过Graph调用来管理Contexts属性/声明-我怀疑您不想让用户自己在其中添加任何他们想要的东西。