【问题标题】:How to pass access token in context for particular mutation in apollo graphql client如何在 apollo graphql 客户端中为特定突变传递访问令牌
【发布时间】:2020-06-17 07:55:05
【问题描述】:

我正在将 Microsoft 图形 API 集成到我的应用程序中,因此目前我正在通过 MSAL npm 模块在客户端获取访问令牌,因此我需要阿波罗服务器上的访问令牌来访问 Microsoft 图形 API(此访问令牌只有一个解析器才需要,对于应用程序授权,我有不同的访问令牌,我会检查每个解析器),所以有什么方法可以在突变时添加上下文,就像我尝试过的那样 -

<Mutation mutation={CREATE_MICROSOFT_TEAMS} context={{ microsoftgraphaccesstoken: msalAccessToken }}> 我试图在突变中传递上下文,但它不起作用,是否有类似的东西,或者我应该在参数中传递令牌,然后在我的阿波罗服务器时将其添加到标题中要去打微软图形API的。

【问题讨论】:

    标签: apollo react-apollo apollo-client apollo-server


    【解决方案1】:

    有多种方法可以在服务器端访问令牌,最简单的方法是将令牌视为变异变量的一部分,因为无论如何它都是特定于一个解析器的。

    使用变异变量:

    // client.js
    
    <Mutation 
      mutation={CREATE_MICROSOFT_TEAMS} 
      variables={{ microsoftgraphaccesstoken: msalAccessToken }}
    >
    
    // server.js
    
    function createMsTeamsResolver(source, args, context, info) {
      console.log(args.microsoftgraphaccesstoken);
    }
    

    这样你也可以像往常一样访问任何参数。

    【讨论】:

      猜你喜欢
      • 2018-05-21
      • 2017-09-06
      • 2019-02-02
      • 2020-08-25
      • 2020-01-31
      • 2018-05-17
      • 2017-08-13
      • 2019-06-11
      • 2020-06-12
      相关资源
      最近更新 更多