带有cookie身份验证的Reactivesearch代理式后端

时间:2018-08-07 10:38:55

标签: reactivesearch

我有一个Spring后端,我正在通过类似代理的端点来访问我的Elastic搜索集群。该请求必须使用Cookie进行授权。

我目前正在使用searchkit,它支持通过withCredentials标志对请求进行身份验证。是否有类似的选项可用于reactsearch或使用Cookie授权请求的其他解决方案?

我可以添加:后端公开了一个swagger客户端,该客户端在与前端客户端不同的域上运行。该客户端“拥有”该cookie,因此我无法从前端客户端读取该cookie

2 个答案:

答案 0 :(得分:1)

好吧,事实证明,Reactivesearch使用fetch和fetch想要credentials: 'include'进行cookie身份验证。不得将其放置在Reactivesearch提供的标头中,而必须将其放置在请求的根对象上。

可以通过在ReactiveBase上实现beforeSend来实现。

const Base = ({ children }) => {
  const onBeforeSend = props => {
    return {
      ...props,
      credentials: 'include',
    }
  }

  return (
    <ReactiveBase
      app="app-name"
      url="url"
      beforeSend={onBeforeSend}
    >
      {children}
    </ReactiveBase>
  )
}

答案 1 :(得分:0)

您可以使用headers中的ReactiveBase道具将自定义标头与请求一起传递。 Link文档。由于没有withCredentials,因此您可以读取Cookie并设置自定义标头,以在代理中间件上验证请求。

<ReactiveBase
  ...
  headers={{
      customheader: 'abcxyz'
  }}
>
    <Component1 .. />
    <Component2 .. />
</ReactiveBase>

Here是一个示例代理服务器,但它在NodeJS中