我有一个使用axios向REST API服务器发出请求的反应应用程序。
在REST服务器上,我们使用kerberos添加了autentication。当我们简单地使用chrome向该服务器发出请求时,该身份验证工作正常(chrome使用kerberos的票证数据传递正确的标头),但当反应应用程序应用程序发出请求时,该票证不会被添加对请求。
我们如何访问故障单并通过react应用程序发送?
注意:react应用程序由apache服务器作为静态内容提供,并与不同的REST服务器通信。
答案 0 :(得分:1)
您应该直接使用提取API,而不是axios。
我在该项目上使用React制作了一个NTLM / Kerberos SSO示例。 项目:https://github.com/jlguenego/react-sso-example
答案 1 :(得分:0)
当您已经拥有票证后,可以在请求标头“ Authorization”中传递该票证,其值为“ Negotiate”。
对于访问票证,我不清楚您的React应用处于哪种状态,以何种形式集成了keberos或希望如何获取票证。例如,如果您希望从用户的浏览器中获取它,则可以使用标题“ WWW-Authenticate”值“ NEGOTIATE”和状态401进行响应,并且如果浏览器配置正确,它将进行处理并返回票证。如果您希望与自己的服务用户一起使用,则可以使用npm kerberos并通过kerberosClient获得票证。