Comments (4)
@DxCx I know, and we had a discussion about it few months ago.
It's hard to maintain authentication with refresh tokens when using WebSocket connection, because validating it in during the construction of the connection is not enough sometimes, and validating it every message is probably too heavy.
In the ws transport with have both onConnect
and onOperation
, and I think that each application should choose the best flow and solution for itself.
from graphql-subscriptions.
@akaNightmare
I think this issue is more related to subscriptions-transport-ws
package.
Since version 0.7.0 of the transport, you can specify onOperation
and add custom logic to verify your token, then return a new context when each operation is executed.
You can see an example for this in GitHunt server example: https://github.com/apollographql/GitHunt-API/blob/master/api/server.js#L160
from graphql-subscriptions.
@dotansimha websocket is not like http,
http will need to reconstruct the session every request, but on websocket
context can be constructed once on connect phase and then you can keep the session,
onOperation should just attach this session..
from graphql-subscriptions.
If you're still having problems with this, please reply below... not quite sure if this is the right place for this.
from graphql-subscriptions.
Related Issues (20)
- Weird Apollo server error-could not connect to endpoint
- Peer Dependency Mismatch HOT 5
- Can't use async/await with withFilter function HOT 2
- Cannot Install on Node 16 NPM 8 HOT 1
- Using pubsub in onConnect and onDisconnect
- Complete event is never fired when using withFilter & graphql-redis-subscriptions
- Expose a way to wait for async iterator to subscribe HOT 1
- WSS graphql subscripiton issue on Nodejs
- Websocket endpoint issue
- Ability to dynamically add/remove topics to/from asyncIterator
- Better error should be thrown if subscription ID is invalid
- Using directives with subscriptions HOT 1
- Subscription: make `Subscription` resolver independent of resolvers for `Create` and `Update` records
- reject subscription if already initialised
- Return type of pubsub.asynctIterator should include AsyncIterable HOT 2
- Who does the logic to add graphql spec fields on the payload like `__typename`?
- inside docker graphql-redis-subscriptions searches to connect to localhost HOT 2
- Nest JS: Object is possibly 'undefined' in GraphQL
- Can the pubsub-async-iterator properties and methods be protected instead of private?
- GraphQL MaxListenersExceededWarning when a subscription doesn't yield a value for multiple finished client processes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphql-subscriptions.