Open
Description
Authentication on the subscription topic in the documentation is unclear. I failed to authenticate using the following link over my named client.
const token = 'my_token';
const basic = setContext(() => ({
headers: {
Accept: 'charset=utf-8'
}
}));
const authLink = setContext((operation, context) => ({
headers: {
Authorization: `Bearer ${token}`,
},
}));
const splitLink = split(
({ query }) => {
const definition = getMainDefinition(query);
return (
definition.kind === Kind.OPERATION_DEFINITION &&
definition.operation === OperationTypeNode.SUBSCRIPTION
);
},
new WebSocketLink({
uri: `ws://localhost:5079/graphql`,
options: {
reconnect: true,
connectionParams: () => ({
authToken: `Bearer ${token}`, // also tried using Authorization: `Bearer ${token}`,
}),
},
}),
authLink.concat(inject(HttpLink).create({
uri: `http://localhost:5079/graphql`,
})),
);
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(routes),
provideHttpClient(withFetch()),
provideNamedApollo(() => ({
myNamedClient: {
link: ApolloLink.from([
basic,
splitLink
]),
cache: new InMemoryCache(),
}
}))
]
};
Metadata
Metadata
Assignees
Labels
No labels