Django 打开新url时传递身份验证标头

Django 打开新url时传递身份验证标头,django,reactjs,authentication,Django,Reactjs,Authentication,我将大致描述这个问题: 我有一个React.js应用程序,它使用IDAM进行身份验证并接收令牌。我可以使用此令牌向后端API发出请求。关于交互React.jsAPI,一切都很好 现在我需要从React.js应用程序重定向到Django应用程序。我已经有了身份验证令牌,我想将其传递给Django应用程序。我正在考虑在执行窗口时放置身份验证标头。打开以打开Djangourl,但我意识到不可能在窗口中放置标头。打开 打开新url时如何传递身份验证标头 注 API和Django应用程序不相关(它们是不同

我将大致描述这个问题:

我有一个
React.js
应用程序,它使用
IDAM
进行身份验证并接收令牌。我可以使用此令牌向后端API发出请求。关于交互
React.js
API
,一切都很好

现在我需要从
React.js
应用程序重定向到
Django
应用程序。我已经有了身份验证令牌,我想将其传递给
Django
应用程序。我正在考虑在执行
窗口时放置身份验证标头。打开
以打开
Django
url,但我意识到不可能在
窗口中放置标头。打开

打开新url时如何传递身份验证标头

注 API和Django应用程序不相关(它们是不同的应用程序)

  • 该API是REST API(与实现无关),由React.js前端用于请求数据
  • Django应用程序是“正常”的Django应用程序(无DRF),与API和React.js前端无关

我建议使用RESTAPI或Graphql,然后使用React提供的API。POST、GET、DELETE等方法必须通过http调用发送X-Token头。后端必须验证令牌,如果令牌有效,并且角色具有所需的权限,则后端将为API提供服务。

这与API调用无关。如前所述,这已经很好了。我问的是完全重定向。好的,那么你需要在React应用程序上执行SSO,可能是OAuth2Already done。我这里有代币。我如何将其传递给django应用程序,以便不需要从django webapp再次触发SSO?也许您可以将令牌存储在本地存储中?@ruddra-huh?这与让django应用程序(在后端运行)知道身份验证令牌无关。嗯,我不认为有任何方法发送标题(可能是我缺乏知识)。但是您可以在url中以querystring参数的形式发送令牌,并在Django中使用
request.GET.GET(…)
捕获它。为了让东西变干,也许可以写一个调味品。IMHO,在同一个项目中使用DRF和普通django可能不是一个好的设计架构。你应该坚持其中任何一个。:)@鲁德拉,谢谢。一些评论。第一:我没有说我正在使用DRF。我说Django应用程序不是DRF。我没有(故意)说关于API的任何事情。第二:即使我想用DRF做所有事情,管理员也是一个django应用程序。