SlideShare a Scribd company logo
1 of 124
Download to read offline
Who is this for?
@gethackteam
@gethackteam
@gethackteam
What to do…? 🤔
@gethackteam
A little bit about
myself first…
@gethackteam
Roy Derks
@gethackteam
@gethackteam
Suppose you’re working
on this great project
@gethackteam
TITLE
CATEGORIES
PRICE
REST API
Database
@gethackteam
Let’s have a look at
a REST API
…that return fixed data structures
REST APIs have multiple
endpoints…
@gethackteam
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
1
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
2
1
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
2
3
1
I hear you thinking
@gethackteam
@gethackteam
@gethackteam
@gethackteam
So you continue…
(as the brave frontend developer you are)
@gethackteam
So you continue…
(as the brave developer you are)
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
1
2
3
…that return fixed data structures
REST APIs have multiple
endpoints…
@gethackteam
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
RATINGS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
RATINGS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
1
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
RATINGS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
1
2
@gethackteam
TITLE
CATEGORIES
PRICE
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
RATINGS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
REST API
1
2
3
@gethackteam
@gethackteam
What to do…? 🤔
@gethackteam
@gethackteam
A. B. C.
What to do…? 🤔
@gethackteam
A. B. C.
What to do…? 🤔
@gethackteam
GraphQL
REST
You have multiple options!
(unfortunately we can’t discuss all)
@gethackteam
You have multiple options!
(unfortunately we can’t discuss all)
@gethackteam
@gethackteam
Create your own GraphQL server
(it’s easier than you think)
@gethackteam
Create your own GraphQL server
(it’s easier than you think)
How to construct your
schema?
@gethackteam
REST API
@gethackteam
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
RATINGS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
GraphQL
Schema
@gethackteam
Schema
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
GraphQL
@gethackteam
Schema
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
GraphQL
@gethackteam
Schema
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
GraphQL
@gethackteam
Schema
PRODUCTSPRODUCTS
PRODUCTS
THUMBNAILS
PRODUCTS
REVIEWS
PRODUCTS
CATEGORIES
PRODUCTS
CATEGORIES
GraphQL
@gethackteam
http://bit.ly/2moBLQV
GraphQL server
with Express
@gethackteam
Express server
@gethackteam
Express server
Use resolvers to fetch the
REST endpoints
TITLE
CATEGORIES
PRICE
@gethackteam
TITLE
CATEGORIES
PRICE
1
@gethackteam
TITLE
CATEGORIES
PRICE
1
2
@gethackteam
TITLE
CATEGORIES
PRICE
1
2
3
@gethackteam
@gethackteam
TITLE
CATEGORIES
PRICE
@gethackteam
TITLE
CATEGORIES
PRICE
1
@gethackteam
TITLE
CATEGORIES
PRICE
1
@gethackteam
TITLE
CATEGORIES
PRICE
1
That was easy right?
@gethackteam
But comes with
two challenges…
@gethackteam
@gethackteam
Authentication Caching
@gethackteam
Authentication Caching
For this I like to use
JSON Web Tokens (JWT)
@gethackteam
But comes with
two challenges…
@gethackteam
But comes with
two challenges…
@gethackteam
Never add private
information!
@gethackteam
JWT
API
@gethackteam
/login
JWT
API
@gethackteam
/login
JWT
API
@gethackteam
JWT
API
@gethackteam
JWT
/products
API
@gethackteam
JWT
/products
Only returns data with a
valid JWT
API
JWTs are passed with every
request
@gethackteam
@gethackteam
@gethackteam
Passed to the GraphQL server
Remember the resolvers?
@gethackteam
@gethackteam
@gethackteam
Use resolvers to fetch the
REST endpoints
@gethackteam
@gethackteam
They can access the request headers
From there you can just send
them along with fetch()
@gethackteam
@gethackteam
@gethackteam
Send them along with the fetch() request
Your REST API doesn’t have
authentication?
@gethackteam
You can use an
authentication server
@gethackteam
@gethackteam
JWT
API
@gethackteam
/login
JWT
API
@gethackteam
/login
JWT
API
@gethackteam
/login
JWT
API
@gethackteam
/login
JWT
API
@gethackteam
JWT
API
/products
@gethackteam
JWT
API
/products
@gethackteam
JWT
API
/products
@gethackteam
JWT
Only returns data with a
valid JWT
API
Or create your own one!
@gethackteam
@gethackteam
@gethackteam
Encode and decode JWTs
But comes with
two challenges…
@gethackteam
But comes with
two challenges…
@gethackteam
JsonWebToken.sign()
But comes with
two challenges…
@gethackteam
But comes with
two challenges…
@gethackteam
JsonWebToken.verify()
@gethackteam
Authentication Caching
@gethackteam
Authentication Caching
@gethackteam
http://bit.ly/2lFLemp
GraphQL server with
Apollo & Express
Apollo Data sources
@gethackteam
Apollo Data sources
@gethackteam
Use models to fetch the
REST endpoints
@gethackteam
TITLE
CATEGORIES
PRICE
@gethackteam
TITLE
CATEGORIES
PRICE
1
@gethackteam
TITLE
CATEGORIES
PRICE
1
@gethackteam
TITLE
CATEGORIES
PRICE
1
@gethackteam
TITLE
CATEGORIES
PRICE
1
It helps you with caching
requests
@gethackteam
@gethackteam
Apollo Data sources
@gethackteam
Cached by default!!
Apollo Data sources
You can also use memcached
or redis
@gethackteam
@gethackteam
Apollo Data sources
@gethackteam
Get data from
request headers
Apollo Data sources
@gethackteam
Apollo Data sources
@gethackteam
So you can pass them forward to
the REST API
Apollo Data sources
So what do we want?
@gethackteam
@gethackteam
@gethackteam
Want to learn more?
Search: Roy Derks@gethackteam
https://auth0.com/docs
https://www.apollographql.com/docs/

More Related Content

What's hot

GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsGraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsNicola Molinari
 
GraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend DevsGraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend DevsSashko Stubailo
 
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern AppsMeteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern AppsSashko Stubailo
 
GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018Sashko Stubailo
 
REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQLSquareboat
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersSashko Stubailo
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanNordic APIs
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open Web
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open WebKafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open Web
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open WebHostedbyConfluent
 
Making Angular2 lean and Fast
Making Angular2 lean and FastMaking Angular2 lean and Fast
Making Angular2 lean and FastVinci Rufus
 
Discover the Possibilities of the Jira Cloud Asset API
Discover the Possibilities of the Jira Cloud Asset APIDiscover the Possibilities of the Jira Cloud Asset API
Discover the Possibilities of the Jira Cloud Asset APIAtlassian
 
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays
 
API-first development
API-first developmentAPI-first development
API-first developmentVasco Veloso
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAtlassian
 
State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]Mikhail Asavkin
 
Intuitive APIs and Developer Education
Intuitive APIs and Developer EducationIntuitive APIs and Developer Education
Intuitive APIs and Developer EducationPostman
 
Data to Go: Mobile API Design
Data to Go: Mobile API DesignData to Go: Mobile API Design
Data to Go: Mobile API DesignChuck Greb
 

What's hot (20)

GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsGraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
 
GraphQL Europe Recap
GraphQL Europe RecapGraphQL Europe Recap
GraphQL Europe Recap
 
GraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend DevsGraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend Devs
 
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern AppsMeteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
Meteor MIT Tech Talk 9/18/14: Designing a New Platform For Modern Apps
 
Intro to GraphQL
 Intro to GraphQL Intro to GraphQL
Intro to GraphQL
 
GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018GraphQL over REST at Reactathon 2018
GraphQL over REST at Reactathon 2018
 
REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQL
 
Serverless GraphQL for Product Developers
Serverless GraphQL for Product DevelopersServerless GraphQL for Product Developers
Serverless GraphQL for Product Developers
 
Mocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with PostmanMocking APIs Collaboratively with Postman
Mocking APIs Collaboratively with Postman
 
Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open Web
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open WebKafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open Web
Kafka and GraphQL: Misconceptions and Connections | Gerard Klijs, Open Web
 
Making Angular2 lean and Fast
Making Angular2 lean and FastMaking Angular2 lean and Fast
Making Angular2 lean and Fast
 
Discover the Possibilities of the Jira Cloud Asset API
Discover the Possibilities of the Jira Cloud Asset APIDiscover the Possibilities of the Jira Cloud Asset API
Discover the Possibilities of the Jira Cloud Asset API
 
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
 
API-first development
API-first developmentAPI-first development
API-first development
 
Access to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIsAccess to User Activities - Activity Platform APIs
Access to User Activities - Activity Platform APIs
 
State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]
 
Intuitive APIs and Developer Education
Intuitive APIs and Developer EducationIntuitive APIs and Developer Education
Intuitive APIs and Developer Education
 
Data to Go: Mobile API Design
Data to Go: Mobile API DesignData to Go: Mobile API Design
Data to Go: Mobile API Design
 

Similar to Wrapping and Securing REST APIs with GraphQL

GraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer LoveGraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer LoveRoy Derks
 
JNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and ApolloJNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and ApolloRoy Derks
 
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy DerksWe Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy DerksRoy Derks
 
Wrapping and securing REST APIs with GraphQL
Wrapping and securing REST APIs with GraphQLWrapping and securing REST APIs with GraphQL
Wrapping and securing REST APIs with GraphQLRoy Derks
 
Web Applications of the Future: GraphQL and TypeScript | React Alicante
Web Applications of the Future: GraphQL and TypeScript | React AlicanteWeb Applications of the Future: GraphQL and TypeScript | React Alicante
Web Applications of the Future: GraphQL and TypeScript | React AlicanteRoy Derks
 
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLRoy Derks
 
Testing GraphQL in Your JavaScript Application: From Zero to Hundred Percent
Testing GraphQL in Your JavaScript Application: From Zero to Hundred PercentTesting GraphQL in Your JavaScript Application: From Zero to Hundred Percent
Testing GraphQL in Your JavaScript Application: From Zero to Hundred PercentRoy Derks
 
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLRoy Derks
 
GraphQL Authentication
GraphQL AuthenticationGraphQL Authentication
GraphQL AuthenticationRoy Derks
 
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XML
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XMLFrontcon Riga - GraphQL Will Do To REST What JSON Did To XML
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XMLRoy Derks
 
RxJS - The Basics & The Future
RxJS - The Basics & The FutureRxJS - The Basics & The Future
RxJS - The Basics & The FutureTracy Lee
 
The Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularThe Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularTracy Lee
 
Why GraphQL Is Perfect For Microservices - CityJS London 2022
Why GraphQL Is Perfect For Microservices - CityJS London 2022Why GraphQL Is Perfect For Microservices - CityJS London 2022
Why GraphQL Is Perfect For Microservices - CityJS London 2022Roy Derks
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Hamlet Batista
 
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0Martijn Dashorst
 
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022Roy Derks
 
Workshop State-management in React with Context and Hooks
Workshop State-management in React with Context and HooksWorkshop State-management in React with Context and Hooks
Workshop State-management in React with Context and HooksRoy Derks
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Matt Raible
 
Big Data Week 2013 Flow
Big Data Week 2013 FlowBig Data Week 2013 Flow
Big Data Week 2013 FlowVictor Anjos
 
The New Renaissance of JavaScript
The New Renaissance of JavaScriptThe New Renaissance of JavaScript
The New Renaissance of JavaScriptHamlet Batista
 

Similar to Wrapping and Securing REST APIs with GraphQL (20)

GraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer LoveGraphQL Without a Database | Frontend Developer Love
GraphQL Without a Database | Frontend Developer Love
 
JNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and ApolloJNation: REST APIs to GraphQL with Express and Apollo
JNation: REST APIs to GraphQL with Express and Apollo
 
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy DerksWe Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
We Are Developers - Modern React (Suspense, Context, Hooks) - Roy Derks
 
Wrapping and securing REST APIs with GraphQL
Wrapping and securing REST APIs with GraphQLWrapping and securing REST APIs with GraphQL
Wrapping and securing REST APIs with GraphQL
 
Web Applications of the Future: GraphQL and TypeScript | React Alicante
Web Applications of the Future: GraphQL and TypeScript | React AlicanteWeb Applications of the Future: GraphQL and TypeScript | React Alicante
Web Applications of the Future: GraphQL and TypeScript | React Alicante
 
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
 
Testing GraphQL in Your JavaScript Application: From Zero to Hundred Percent
Testing GraphQL in Your JavaScript Application: From Zero to Hundred PercentTesting GraphQL in Your JavaScript Application: From Zero to Hundred Percent
Testing GraphQL in Your JavaScript Application: From Zero to Hundred Percent
 
Web Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQLWeb Applications of the Future with TypeScript and GraphQL
Web Applications of the Future with TypeScript and GraphQL
 
GraphQL Authentication
GraphQL AuthenticationGraphQL Authentication
GraphQL Authentication
 
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XML
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XMLFrontcon Riga - GraphQL Will Do To REST What JSON Did To XML
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XML
 
RxJS - The Basics & The Future
RxJS - The Basics & The FutureRxJS - The Basics & The Future
RxJS - The Basics & The Future
 
The Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularThe Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + Angular
 
Why GraphQL Is Perfect For Microservices - CityJS London 2022
Why GraphQL Is Perfect For Microservices - CityJS London 2022Why GraphQL Is Perfect For Microservices - CityJS London 2022
Why GraphQL Is Perfect For Microservices - CityJS London 2022
 
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5Solving Complex JavaScript Issues and Leveraging Semantic HTML5
Solving Complex JavaScript Issues and Leveraging Semantic HTML5
 
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
 
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
Why GraphQL is Perfect for Node.js Microservices - IJS London 2022
 
Workshop State-management in React with Context and Hooks
Workshop State-management in React with Context and HooksWorkshop State-management in React with Context and Hooks
Workshop State-management in React with Context and Hooks
 
Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017Front End Development for Back End Developers - UberConf 2017
Front End Development for Back End Developers - UberConf 2017
 
Big Data Week 2013 Flow
Big Data Week 2013 FlowBig Data Week 2013 Flow
Big Data Week 2013 Flow
 
The New Renaissance of JavaScript
The New Renaissance of JavaScriptThe New Renaissance of JavaScript
The New Renaissance of JavaScript
 

More from Roy Derks

Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019
Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019
Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019Roy Derks
 
Handling Large-Scale State-Management with React Context and Hooks
Handling Large-Scale State-Management with React Context and HooksHandling Large-Scale State-Management with React Context and Hooks
Handling Large-Scale State-Management with React Context and HooksRoy Derks
 
Using ReasonML For Your Next JavaScript Project
Using ReasonML For Your Next JavaScript ProjectUsing ReasonML For Your Next JavaScript Project
Using ReasonML For Your Next JavaScript ProjectRoy Derks
 
Boilerplates Are The New Copy-Paste
Boilerplates Are The New Copy-PasteBoilerplates Are The New Copy-Paste
Boilerplates Are The New Copy-PasteRoy Derks
 
GraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XMLGraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XMLRoy Derks
 
Workshop JavaScript ES6+
Workshop JavaScript ES6+Workshop JavaScript ES6+
Workshop JavaScript ES6+Roy Derks
 

More from Roy Derks (6)

Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019
Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019
Open-sourcing JavaScript at the City of Amsterdam - All Things Open 2019
 
Handling Large-Scale State-Management with React Context and Hooks
Handling Large-Scale State-Management with React Context and HooksHandling Large-Scale State-Management with React Context and Hooks
Handling Large-Scale State-Management with React Context and Hooks
 
Using ReasonML For Your Next JavaScript Project
Using ReasonML For Your Next JavaScript ProjectUsing ReasonML For Your Next JavaScript Project
Using ReasonML For Your Next JavaScript Project
 
Boilerplates Are The New Copy-Paste
Boilerplates Are The New Copy-PasteBoilerplates Are The New Copy-Paste
Boilerplates Are The New Copy-Paste
 
GraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XMLGraphQL Will Do To REST What JSON Did To XML
GraphQL Will Do To REST What JSON Did To XML
 
Workshop JavaScript ES6+
Workshop JavaScript ES6+Workshop JavaScript ES6+
Workshop JavaScript ES6+
 

Recently uploaded

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Wrapping and Securing REST APIs with GraphQL