3 ms·
I’ve been a fan of Prisma for a while now - hacked on a project with graphcool. Congrats on the launch! As it’s unbundled it doesn’t have (on purpose I think)
by ojkelly 9y ago
I’ve been a fan of Prisma for a while now - hacked on a project with graphcool. Congrats on the launch!
As it’s unbundled it doesn’t have (on purpose I think) a few things for a proper production deployment.
I’m working on a GraphQL front end server (Bunjil) designed to be the public bastion server in front of a Prisma/Prisma Cloud backend (though it works with any and multiple graphQL servers).
It’s probably too early to share this as I’m still writing the documentation, but here it is anyway.
The main additions are an authentication hook, and Policy Based Access Control similar to AWS IAM. I’ve found this style of authorisation amazingly powerful with GraphQL.
This gives you the ability to give a role access to say all types, or everything on the user type except ‘password’. Or block access to certain mutations.
I’m looking at how to hide specific mutations from the final scheme (to block ‘allUsers’ for example).
https://bunjil.js.org https://bunjil.js.org
As most of the docs are still being written, the main two pages with more info are the api specs. The front page has a simple usage example.
https://bunjil.js.org/api/bunjil https://bunjil.js.org/api/bunjil
https://bunjil.js.org/api/policy https://bunjil.js.org/api/policy
- sorenbs 9y agoThanks ojkelly - this looks super cool! I'll take a closer look tomorrow :-) Did you already use yoga and bindings? I think you might find it inspirational.
- ojkelly 9y agoYeah had a good play with and dive around the internals of graphql-yoga. Bunjil is intended to be pretty opinionated, and I needed to do some things a bit differently. Namely, a specific focus and opinion on security. You could easily have Bunjil consume many upstream graphql-yoga in micro services for example.