Kerberos 身份验证与反应

问题描述 投票:0回答:2

我有一个 React 应用程序,它使用 axios 向我们的 REST API 服务器发出请求。

在 REST 服务器上,我们添加了使用 kerberos 的身份验证。当我们简单地使用 chrome 向该服务器发出请求时,身份验证工作正常(chrome 传递带有 kerberos 票证数据的正确标头),但是当 React 应用程序发出请求时,票证不会添加到请求中。

我们如何访问票证并通过 React 应用程序发送它?

注意:React 应用程序由 apache 服务器作为静态内容提供服务,并与不同的 REST 服务器进行通信。

reactjs authentication django-rest-framework kerberos axios
2个回答
0
投票

当您已经拥有票证时,您可以将其传递到请求标头“授权”中,并使用值“协商”。

对于访问票证,我不清楚您的 React 应用程序处于哪种状态,您以哪种形式将 keberos 集成到其中,或者您希望如何获取票证。例如,如果您希望从用户的浏览器获取它,您可以使用标头“WWW-Authenticate”值“NEGOTIATE”和状态 401 进行响应,如果浏览器配置正确,它将处理它并返回票证。如果您希望自己的服务用户使用它,您可以使用 npm kerberos 并通过 kerberosClient 获取票证。


0
投票

您应该直接使用 fetch API,而不是 axios。

我在这个项目上使用 React 做了一个 NTLM/Kerberos SSO 示例。 项目:https://github.com/jlguenego/react-sso-example

© www.soinside.com 2019 - 2024. All rights reserved.