0

我对 azure 身份世界完全陌生,我才刚刚开始使用它们,我一直在阅读一些关于azure service principals的内容,看起来很酷,但现在我想知道是否有可能注册 3 个应用程序并使用服务主体与其他应用程序进行通信?所以有3个api(App1,App2,App3)

App1 可以使用服务主体进行身份验证,并使用它可以与 App2 和 App3 通信,因为 App1 对应用程序(App2 和 App3)都有“访问权限”,而 App2 和 App3 刚刚注册。

但是,如果以后有一个 App4,我可以轻松地分配访问权限以与 App2 进行通信

App1    App2    App3    App4
x->      x
x->              x
         x->             x

如果我误解了服务主体的真正用法或者我的方法不正确,请告诉我,欢迎任何反馈

对于上述场景,我不需要/不希望用户登录和授权任何应用程序。这种方法完全基于 API

4

1 回答 1

0

您是在谈论两个应用程序之间的通信还是多个应用程序之间的通信?

如果是两个应用程序之间的通信(app1->app2(api1)),那么需要在Azure中创建app1和app2,然后将app2作为api应用,app1作为客户端应用。接下来需要暴露api应用的api并添加客户端应用,然后让用户登录客户端应用并完成授权,然后就可以使用app1的token调用app2了。具体操作流程可以参考我之前的回答

如果说的是多个应用之间的通信(app1->app2(api1)->app3(api2)),那么需要暴露app2和app3的API,然后让app1调用app2,然后app2作为中间layer api 再次调用 app3。具体操作流程可以参考我之前的回答

于 2021-06-28T09:49:10.600 回答