Azure active directory React/Pylask-正确的Microsoft AD登录体系结构

Azure active directory React/Pylask-正确的Microsoft AD登录体系结构,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,摘要: 我目前正在为我的React/Flask Web应用程序开发登录流。 React前端在Docker容器上运行,暴露端口80,而Flask后端API在端口5000上的单独容器上运行 后端有一个端点GET/auth/login,它返回状态:302,以及用户完成获取令牌的Microsoft登录页面的重定向URL。然后将令牌存储在会话中以供Graph API使用 每当前端请求GET/auth/login时,CORS策略就会阻止重定向 Q: 登录流的正确方法和体系结构是什么? 我应该将令牌获取放在前

摘要
我目前正在为我的React/Flask Web应用程序开发登录流。 React前端在Docker容器上运行,暴露端口
80
,而Flask后端API在端口
5000
上的单独容器上运行

后端有一个端点
GET/auth/login
,它返回
状态:302
,以及用户完成获取令牌的Microsoft登录页面的重定向URL。然后将令牌存储在会话中以供Graph API使用

每当前端请求GET/auth/login时,CORS策略就会阻止重定向

Q:
登录流的正确方法和体系结构是什么?

我应该将令牌获取放在前端并将令牌存储在本地存储器中吗?

对于这样的应用程序(JS前端+API),典型的方法是在前端使用隐式授权流和MSAL.JS,并在API上使用JWT承载令牌身份验证

因此:

  • 您的前端React应用程序需要使用MSAL.js对用户进行身份验证,并获取API的访问令牌
  • 然后,应将该访问令牌作为头添加到API的每个请求中(例如,
    授权:此处为承载令牌
  • API检查令牌签名等是否有效(为此使用库),并基于令牌对用户进行身份验证

  • 谢谢juunas!我将试用它并进行一些重构