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

5

我已经能够使用AAD认证React应用程序,也能够获得访问令牌。

我有以下问题:

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

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

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

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

1个回答

2
  1. 在前端中,确保每个HTTP请求都附带accessToken,可以编写一个通用的HTTP模块并在React应用程序中使用它。为了确保您的应用程序使用相同的令牌进行身份验证,您需要使用adalMSALreact-adal包装React应用程序。
  2. 您必须在Python后端中使用与React应用程序相同的client id来验证API请求中发送的令牌。
  3. 您需要在Flask中添加before_request钩子,并验证您在请求中收到的accessToken。参考链接

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接