Build a Secure Blog with Gatsby, React, and Netlify
![Build a Secure Blog with Gatsby, React, and Netlify](/assets-jekyll/blog/gatsby-netlify-okta/gatsby-netlify-e406b0ef4f9f3cb0a983c9f4bfb42ff1277431b3c1292a6b3ad36af52f4e0bfc.png)
Gatsby is a tool for creating static websites with React. It allows you to pull your data from virtually anywhere: content management systems (CMSs), Markdown files, APIs, and databases. Gatsby leverages GraphQL and webpack to combine your data and React code to generate static files for your website. JAM - JavaScript, APIs, and Markup - apps are delivered by pre-rendering files and serving them directly from a CDN, removing the requirement to manage or run...
Create and Verify PASETO Tokens in Java
![Create and Verify PASETO Tokens in Java](/assets-jekyll/blog/paseto-security-tokens-java/paseto-social-eebffbc7050411ef539b334aed883bac20e1b4b407be2c5df987e7327cf82e71.png)
PASETO is the latest trend in security token formats. Its primary goal is to reduce the problems the JSON Web Token (JWT) related specifications introduce. In this post, I’ll give you a brief introduction to PASETO tokens and then jump into an example that creates and parses tokens using in Java using JPaseto. If you’d rather watch a video, I created a screencast too! What is PASETO? PASETO stands for Platform-Agnostic SEcurity TOkens. The PASETO...
What Is Angular Ivy and Why Is It Awesome?
![What Is Angular Ivy and Why Is It Awesome?](/assets-jekyll/blog/angular-ivy/angular9-ivy-e8d66a29222893ff9d6efba66df8eaa71b9ad1f3d119053a2c4796e423d85154.png)
Over the last year or so, a new buzzword started floating around Angular forums and blogs. The word was Ivy. Ivy promises to make your application faster and smaller. But what exactly does this new technology do? Ivy is a complete rewrite of Angular’s rendering engine. In fact, it is the fourth rewrite of the engine and the third since Angular 2. But unlike rewrites two and three, which you might not have even noticed,...
Tech at the Edge of the World: Offline Applications
![Tech at the Edge of the World: Offline Applications](/assets-jekyll/blog/offline-apps-antarctica/elephantisland-5116aa080f62592f3b0799f6cebc29e26a47aedfd1cf4418ded4f1051645cece.jpg)
In January of 2020, I was fortunate enough to join a 16 day voyage to Antarctica, and speak at a tech mastermind conference called AntarctiConf. Going to see the seventh continent was one of the coolest experiences of my life, and to top it all off I was joined by other incredible like-minded tech geeks and coders! I highly recommend adding Antartica to your travel bucket list as well, it is such a life-changing place...
Node Microservices: From Zero to Hero
![Node Microservices: From Zero to Hero](/assets-jekyll/blog/featured/okta-node-skew-81b821d4ba7097b63abb6d733e9d3863f56ca49396ec3861b446c7bf21173cd9.jpg)
Node is one of the premier frameworks for microservice architecture today. The microservice pattern allows developers to compartmentalize individual components of a larger application infrastructure. Because each component runs independently, you can upgrade or modify components without impacting the larger application. Each component exposes an interface to external consumers who are blind to any internal logic the service does. One of the challenges of working in a microservice environment is the process of one service...
Managing Multiple Okta Instances with Terraform Cloud
![Managing Multiple Okta Instances with Terraform Cloud](/assets-jekyll/blog/okta-terraform-cloud/terraform-plan-55d1974bc30f317d58664d6f7e535e13ec5d212924c13e2bf7118196637e7ea3.png)
Congratulations, you’ve chosen to use Okta to solve your identity problems. Welcome to the happy sunny utopia of a managed identity solution! But wait! How do you manage your environments? Your applications all have separate production, staging, and development environments. How do you manage that in Okta without writing a ton of custom scripts? In this post, you’ll learn how to manage multiple Okta instances using Terraform and our Okta Terraform Provider. I’ll walk you...
How to GraphQL in Java
![How to GraphQL in Java](/assets-jekyll/blog/java-graphql/java-graphql-ee8ab9949da8285229b9c9e3fec435daa45b3e8e438d06c946e247b1bacaf6d0.png)
REST APIs are hard to design so they serve multiple clients well. As each client has their own needs in terms of data searching, filtering and which fields they want, a traditional REST API will provide a single version of an entity and the client has the responsibility of navigating through multiple endpoints and correlate the data on their side to build the data they want. GraphQL was developed by Facebook to overcome the shortcomings...
Build Single Sign-on in Java
![Build Single Sign-on in Java](/assets-jekyll/blog/java-single-sign-on/no-email-scope-message-tanya-0710378bd103d4e4db246d138e49ee22f143313261c6b75b1ed18163dc1fe282.png)
In modern app development, you quite frequently have a single resource server that provides data to multiple client applications. These applications may share a similar set of users, but need to enforce different permissions. For example, it’s possible that not all users of the first application should be allowed to access the second (think of, for example, an admin console application versus a client or user application). How would you implement this? One way to...
The Best Testing Tools for Node.js
![The Best Testing Tools for Node.js](/assets-jekyll/blog/best-nodejs-testing-tools/the-best-testing-tools-for-nodejs-8de4715435efe8e9d74811baf4c7baaaeffdf6ae769c74bf54cf73a540ea51fb.jpg)
Testing is an essential discipline for any non-trivial software project. With a dynamic language like JavaScript, testing is an absolute necessity. This post is on the best tools currently available for Node.js, but here’s a quick look at some of the many benefits of testing. Find bugs! Guard against future bug regressions. Document the expected functionality or behavior of software. Improve the design, quality, and maintainability of software. Refactor code with confidence. In this post,...
Use PKCE with OAuth 2.0 and Spring Boot for Better Security
![Use PKCE with OAuth 2.0 and Spring Boot for Better Security](/assets-jekyll/blog/featured/okta-java-bottle-headphones-a8ac5d931ee4243aa1ee192f79c9f63bd4624ed13827cfdabe8eb34c8e4ad555.jpg)
Browser and mobile feature enhancements move fast. Often times, these technologies move faster than security standards designed to protect them can keep up. OAuth 2.0 offers the best and most mature standard for modern applications. However, there hasn’t been an official release of this standard since 2012. Eight years is a very long time in Internet technology years! That doesn’t mean that its contributors have been sitting idly by. There is active work on the...