Angular 是否可以将服务注入apollo客户端';什么是中间件?

Angular 是否可以将服务注入apollo客户端';什么是中间件?,angular,apollo-client,Angular,Apollo Client,是否可以将服务注入apollo客户端的中间件?这是阿波罗舱。在文档中,有一条关于如何实现身份验证的建议。通信是使用localStorage完成的。这不是一条有角度的路。我需要确认一下。我寻找解决方案已经有一段时间了。我会使用以下两种选择之一: 备选案文1: 拥有管理登录/令牌等的身份验证服务 将Auth服务注入到构建Apollo的服务中 在添加令牌的中间件中,从注入的身份验证服务检索令牌 备选案文2: 让构建Apollo客户端的服务也管理身份验证状态。将其注入到您登录的页面中,以处理身份验证并在

是否可以将服务注入apollo客户端的中间件?这是阿波罗舱。在文档中,有一条关于如何实现身份验证的建议。通信是使用localStorage完成的。这不是一条有角度的路。我需要确认一下。我寻找解决方案已经有一段时间了。

我会使用以下两种选择之一:

备选案文1:

  • 拥有管理登录/令牌等的身份验证服务
  • 将Auth服务注入到构建Apollo的服务中
  • 在添加令牌的中间件中,从注入的身份验证服务检索令牌
  • 备选案文2:


    让构建Apollo客户端的服务也管理身份验证状态。将其注入到您登录的页面中,以处理身份验证并在之后存储令牌。

    我知道它非常旧,但以防万一,注入是在deps中进行的:

        providers: [
            {
              provide: APOLLO_NAMED_OPTIONS,
              deps: [HttpLink, AuthService],
              useFactory: createApollo,
            },
          ],
    

    然后您只需在
    createApollo(httpLink:httpLink,authService:authService)
    factory函数中添加一个参数。

    我认为它不建议与localStorage通信,我认为它只是使用它来存储令牌。您可以按照自己的意愿与服务共享身份验证信息。