Although authentication is a common requirement for web apps, it can be difficult to get it right, especially if you're by yourself or part of a small team. That's why many sites choose to use OAuth 2.0 to let a third-party handle authentication for them. They just need to know…
Read moreIf you've worked with React at all, chances are you've at least heard of Redux. But you may not know what it is, how it fits in with React, or how to use it in your app. It can sometimes be complicated to set up but can be a very…
Read moreBuilding web pages with user authentication can be a huge pain. You typically need to set up some sort of database to manage users even if you're not using the database for anything else. You would then need to store their password hashes, and you almost need a degree on…
Read moreThere are so many options when it comes to building out a simple CRUD (Create, Read, Update, Delete) app. The most refreshing data access layer to work with recently by far has been GraphQL. It's great because the developer can use a simple, strongly typed language to define models and…
Read moreJavaScript has been turning into more and more of a robust language and is no longer just seen in browsers. Server-side JavaScript has become quite relevant. However, one major thing that JavaScript is not, is a strongly typed language. Being explicit with what types to expect from function parameters or…
Read moreIf you haven't heard of PostgreSQL (often called Postgres), today's your lucky day. It's a robust, open source relational database that powers some of the world's largest applications. In this post, I'll show you how to create a REST API in Node that uses Postgres as a data store. I'll…
Read moreReact has gained a lot of popularity over the last few years, and Redux is a term often heard in combination with it. While technically separate concepts, they do work quite nicely together. React is a component-based framework, often used to create a Single-Page App (SPA), but can also be…
Read moreIn 2019, it's quite easy to find React components for pretty much everything. For example, if you want to add user authentication to your app, you can do so easily with Okta's React component. Here I'll walk you through creating a simple, fun React app that fetches random Chuck Norris…
Read moreIf you've done any web development with Node in the last few years, you've probably used Express. Even if you haven't used it directly, many frameworks meant to make web development even simpler are still built on Express.
Read moreAuthentication on the internet has evolved quite a bit over the years. There are many ways to do it, but what worked well enough in the 90s doesn't quite cut it today. In this tutorial, I'll briefly cover some older, simpler forms of authentication, then show you how a more…
Read moreGraphQL and React have both become quite popular in the last few years, and it's safe to say they go together like avocado and toast. A GraphQL server can be written in Node and lets you easily create a flexible API using JavaScript classes and functions. When a frontend developer…
Read moreGraphQL has become an immensely popular alternative to REST APIs. The flexibility you get from using GraphQL makes it easier for developers to get any information they need for an app, and just the information they need for that portion of the app. That gives you the feel of a…
Read moreJavaScript is used everywhere on the web - nearly every web page will include at least some JavaScript, and even if it doesn't, your browser probably has some sort of extension that injects bits of JavaScript code on to the page anyway. It's hard to avoid in 2018.
Read moreEven before the release of Angular 6, Angular had gone through some changes over the years. The biggest one was the jump from AngularJS (v1.x) to Angular (v2+), which included a lot of breaking syntax changes and made TypeScript the default language instead of JavaScript. TypeScript is actually a superset…
Read moreThere are a lot of JavaScript frameworks out there today. It seems like I hear about a new one every month or so. They all have their advantages and are usually there to solve some sort of problem with an existing framework. My favorite to work with so far has…
Read moreIf you're building a non-trivial website, chances are you'll want some way to keep track of users. This can be quite complex and require a good deal of infrastructure, but one of the most secure and scalable ways is also one of the easiest. Using an OAuth 2.0 provider allows…
Read moreSecuring server-to-server API services can be tricky. OAuth 2.0 is an excellent way to offload user authentication to another service, but what if there is no user to authenticate? In this article, I'll show you how you can use OAuth 2.0 outside the context of a user, in what is…
Read moreIf you're building a web application, chances are you're going to want to serve different content depending on the user. Authenticating users can be complex for many reasons. The most straightforward route is to allow users to sign in with a username and password. The problem with this is, no…
Read moreAuthenticating users for Node.js/Express.js web apps can be difficult. You have to set up a database, define a user schema (or use something more flexible like NoSQL), write code to handle password hashing, etc. It's annoying.
Read more