如果使用“相同”的天蓝色AAD访问令牌来访问多个webapis,我们正在评估一个选项。 这是流程:
Client -> webapi1 -> webapi2
1) client authenticates against AAD and acquires token1 <br>
2) client calls webapi1 with token1<br>
3) webapi1 calls webapi2 with token1
让我们说两个webapi都配置为验证相同的受众('xxxx')和权限,是否有任何并发症/安全问题,以便为api利用相同的令牌。
非常感谢任何输入。
答案 0 :(得分:1)
在这种情况下,就Azure AD而言,webapi1和webapi2本质上是相同的API。
这种方法的一个原因可能是API上有太多特权。
假设API A需要访问组织中所有用户的电子邮件。既然API B从AAD的角度来看实际上是同一个应用程序,它也是正确的,虽然它不需要它。
通常我们会尝试遵循最小权限原则,即应用程序的每个部分都具有所需的访问权限,而不是更多。因此,再次使用相同的受众可能会违背这一点。
另一个问题是,另一个有权调用API A的应用程序也有权调用API B.
我可以理解你避免往返获取额外令牌的原因,但可以缓存令牌。