使用Azure AD对React应用程序和后端应用程序进行身份验证(python)

Rom*_*ome 5 python azure reactjs

我能够使用 AAD 对 React 应用程序进行身份验证,并且能够获取访问令牌。

我有以下问题:

  1. 我的后端是Python Flask(WEB API)。如何确保 React 应用程序发送的每个请求也使用相同的令牌进行身份验证?

  2. 我应该为后端注册不同的应用程序(pythonflask)还是可以使用同一前端应用程序的客户端ID?

  3. 如果我在从前端调用每个 API 请求时在标头中传递令牌,后端将如何验证令牌是否有效?另外,它是否应该验证每个 API 请求?

我已经看到了多种选项,例如flask-azure-oauth 库和其他一些库。对于前端,我尝试过 ADAL 和 MSAL 库。

uda*_*day 2

  1. 在前端,请确保在每个 HTTP 请求中附加 accessToken,例如编写一个通用 HTTP 模块并在 React 应用程序中使用它。为了确保您的应用程序使用相同的令牌进行身份验证,您需要用adalorMSAL或包装反应应用程序react-adal
  2. 您必须使用client idpython 后端中的 React 应用程序中使用的相同内容,才能验证您在 API 请求中发送的令牌。
  3. 您需要before_request在flask中添加钩子并验证您在请求中收到的accessToken。参考链接

您还可以检查react-adal包以进行AAD身份验证。