4

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

4

2 回答 2

0

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

选项1:

  1. 有一个管理登录/令牌等的身份验证服务。
  2. 将 Auth 服务注入到构建 Apollo 的服务中。
  3. 在添加令牌的中间件中,从注入的 Auth 服务中检索令牌。

选项 2:

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

于 2018-07-12T18:39:45.843 回答
0

我知道它很老了,但以防万一,注入被制成deps:

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

然后你只需在你的createApollo(httpLink: HttpLink, authService: AuthService)工厂函数中添加一个参数。

于 2020-10-26T10:14:49.450 回答