在Azure中使用AAD令牌在前端,中间层和数据库之间进行连接

问题描述

我正在尝试在Azure中设置两个应用程序服务(前端和中间层)和一个MysqL数据库。我想设置以下情况:

  1. 用户使用Azure AD对前端应用程序进行身份验证。
  2. 前端应用程序向中间层触发REST调用
  3. 中间层从MysqL数据库获取数据并将其发送到前端。

我想(通过前端)对用户进行一次身份验证,并使用相同的令牌对中间层和数据库进行身份验证。我在Spring中使用Java进行开发。我找到了tutorial,它解释了从前端到中间层的OAuth令牌身份验证,但没有解释如何为应用程序的每个用户使用相同的令牌连接到MysqL数据库

以前有人尝试过吗?有人可以概述这种情况下的最佳方法吗?

解决方法

您可以获取中间层的访问令牌,然后使用OBO flow(使用中间层)将其交换为MySQL数据库的访问令牌。您的中间层应用程序注册可用于链接中所述的WebAPI A和B。