Reactjs OpenID连接+;Django DRF+;反应:如何使用?

Reactjs OpenID连接+;Django DRF+;反应:如何使用?,reactjs,django,rest,django-rest-framework,keycloak,Reactjs,Django,Rest,Django Rest Framework,Keycloak,我有一个web应用程序由两部分组成:使用Django+Django Rest框架(DRF)实现的后端和React应用程序项目的前端。对于身份验证和授权,我使用keydove 对于首先进行身份验证,前端应用程序将用户重定向到key斗篷登录页面,在key斗篷收到正确的用户名和密码组合后,将用户重定向回前端应用程序,并为前端应用程序提供访问密钥和刷新密钥对 现在,当用户想要向后端调用任何API时,它都具有所需的访问密钥。我决定让前端应用程序也负责刷新访问令牌;但我期待着任何更好的解决办法 因为我需要在

我有一个web应用程序由两部分组成:使用Django+Django Rest框架(DRF)实现的后端和React应用程序项目的前端。对于身份验证和授权,我使用keydove

对于首先进行身份验证,前端应用程序将用户重定向到key斗篷登录页面,在key斗篷收到正确的用户名和密码组合后,将用户重定向回前端应用程序,并为前端应用程序提供访问密钥和刷新密钥对

现在,当用户想要向后端调用任何API时,它都具有所需的访问密钥。我决定让前端应用程序也负责刷新访问令牌;但我期待着任何更好的解决办法

因为我需要在我的应用程序中使用授权,所以在KeyClope中它的“访问类型”应该设置为“机密”;因此,当我的前端应用程序想要进行身份验证时,它应该提供“客户端机密”

这在我处于开发阶段时没有问题,因为我可以轻松地更改代码中的客户机机密。但是,当我想要构建用于生产的前端应用程序时,我会在生产环境(与开发实例分离)中从我的keydove实例中硬编码客户机机密,然后构建应用程序。换句话说,对于密钥的任何更改,都需要一个新的构建,这是一个真正的难题

  • 我是否使用正确的步骤进行身份验证
  • 前端应用程序是否可以在不提供密钥的情况下进行身份验证
  • 如果上述问题的答案是“否”(我认为是这样),那么前端应用程序在构建后是否有任何方法将客户端机密用作配置值