我可以在一个Web应用程序中跨多种服务使用身份验证吗?

时间:2018-09-12 12:40:56

标签: asp.net asp.net-mvc azure authentication

这似乎是一种常见的情况,但是我不知道如何使它工作。

我在来源1处有一个通用Web服务。我希望这在多个Web应用程序之间是通用的。已启用身份验证。

然后我在原始2处放置了Web应用程序。我希望该Web应用程序在原始1处通过Common进行一些调用

如果我在源1处关闭对Common的身份验证,这些调用将正常工作。如果我将其打开,则它将失败,因为Web应用程序将不会跨源发送身份验证cookie(或令牌?)。

构造这个的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您想研究所谓的委托。该方案的工作方式如下:

  1. 用户在您的前端应用程序中针对AAD进行身份验证
  2. 发出对前端应用程序后端应用程序有效的令牌(这是委派)
  3. 您使用提供的令牌并将其转发到后端应用,并代表用户发出请求

here中介绍了如何设置此方案,但是您实际上不需要中间的API管理。如果您也想将自己的API暴露给外界或有多个需要充当一个外观的API,那么使用API​​M的原因就很有意义。