在我的react应用程序中,我尝试与我进行的每个graphql查询/突变一起发送授权标头。
我可以在请求中看到标题,如下图所示:
但是我得到401作为响应。 当我在邮递员中运行相同的请求(带有授权标头)时,它可以工作,并且我收到数据作为响应。
这是我的apollo客户端设置:
import ApolloClient from 'apollo-client';
import {ApolloProvider} from 'react-apollo';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { HttpLink } from 'apollo-link-http';
import { setContext } from 'apollo-link-context';
const authLink = setContext((_, { headers }) => {
// get the authentication token from redux store.
const token = store.getState().loginData.jwt;
// add the jwt token to the authorization header.
return {
headers: {
...headers,
Authorization: token ? `Bearer ${token}` : "",
}
}
});
const httpLink = new HttpLink({
uri: process.env.GRAPHQL_API_URL,
credentials: 'same-origin'
})
const client = new ApolloClient({
cache: new InMemoryCache(),
ssrMode: true,
connectToDevTools: true,
link: authLink.concat(httpLink)
});
控制台中没有任何错误。 响应头是: