【发布时间】:2016-11-17 15:28:51
【问题描述】:
您可能知道,我正在创建一个使用 B2B 功能的多租户 azure 应用程序。
我正在测试 B2B 功能,经过一些研究,我得到了一个工作示例。
小总结:用户根据公共权限进行身份验证,第一个令牌是通过具有授权码的公共权限获取的,从那时起,每次我需要服务客户端时,我都会尝试从“当前租户”权限获取这些令牌。
当我请求“我”时,它只适用于家庭租户。当我向受信任的租户请求我时,我收到一个错误,即我的用户标识符在目录中不存在。可能是因为用户实际上并不存在于受信任的租户中。
当我请求用户时,它工作正常。我可以同时获得家庭租户用户和受信任的租户用户。
这是正常行为吗? 这是我需要以编程方式处理的事情,还是可以通过使用 AD 图来解决? (所以当我知道我需要用户信息时,只需查询家庭租户?) 或者这是一个错误?
对此的任何想法将不胜感激!
【问题讨论】:
-
B2B 的一个重要内容是邀请。您是否邀请来自一个 AAD 的用户进入另一个?
-
是的,租户 a 的用户 a 已被邀请到租户 b。在为租户 b 请求令牌时更改权限时,我无法请求我,尽管我能够从租户 b 请求用户。这可以通过查询我的家庭租户来解决。所以现在,我以这种方式修复它。但是现在我遇到了另一个问题,当我回收我的应用程序时,令牌缓存被清除(使用 httpcache)。从租户那里请求用户不是问题,他没有静默地请求它,但是来自获取令牌的令牌可以完成这项工作。这对“我”不起作用,我总是必须注销/登录
标签: azure azure-active-directory microsoft-graph-api b2b