如何在来自客户端的 graphql 查询中添加 hmac?
Posted
技术标签:
【中文标题】如何在来自客户端的 graphql 查询中添加 hmac?【英文标题】:How to add hmac in grapqhl queries from client? 【发布时间】:2019-07-26 10:59:20 【问题描述】:我们在 React Native 项目中使用 apolloclient,谁能指导我们如何在使用它进行的查询中添加 hmac?
【问题讨论】:
【参考方案1】:希望对你有帮助
import ApolloClient, gql from 'apollo-boost';
import InMemoryCache from 'apollo-cache-inmemory';
import print from 'graphql/language/printer';
const baseURL = 'http://localhost:3000/';
const cache = new InMemoryCache(
addTypename: false
);
const apolloClient = new ApolloClient(
uri: baseURL,
cache,
request: (operation) =>
const query, variables, operationName = operation;
const payload =
variables,
operationName,
query: print(query)
console.log(payload)
// custom headers
const headers =
'X-API-KEY': '332dace0-e629-48bf-b664-d550ebfc828c',
'X-APP-ID': '52557818-b027-43a8-bf45-fb87f98cd96e',
'content-type': 'application/xjson',
'Authorization': token ? `Bearer $token` : '',
console.log(headers)
const token = ''; // create HMAC here
operation.setContext(
headers:
...headers,
)
);
【讨论】:
以上是关于如何在来自客户端的 graphql 查询中添加 hmac?的主要内容,如果未能解决你的问题,请参考以下文章
了解 GraphQL / Sangria-Graphql 中服务器端的特定字段
如何修复来自 Apollo 客户端的格式错误的身份验证标头错误
graphql-java 错误数据(如扩展)被填充到客户端的“消息”字段中