是否有可能将服务注入到apollo-client的中间件中?

时间:2017-05-24 19:29:50

标签: angular apollo-client

是否可以将服务注入apollo-client的中间件?有Apollo模块。 https://www.npmjs.com/package/apollo-angular在文档中提供了如何实现身份验证的建议。通信使用localStorage完成。 http://dev.apollodata.com/angular2/auth.html这不是Angular2方式。我需要确认。我已经解决了一段时间了。

2 个答案:

答案 0 :(得分:0)

我将使用以下两个选项之一:

选项1:

  1. 具有用于管理登录名/令牌等的Auth服务。
  2. 将Auth服务注入构建Apollo的服务中。
  3. 在添加令牌的中间件中,从注入的Auth服务中检索令牌。

选项2:

拥有构建Apollo客户端的服务还可以管理Auth状态。将其注入登录页面以处理身份验证并在此之后存储令牌。

答案 1 :(得分:0)

我知道它已经很老了,但以防万一,注射剂要制成deps:

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

然后,您只需将参数添加到createApollo(httpLink: HttpLink, authService: AuthService)工厂函数中即可。

相关问题