Book Image

OAuth 2.0 Cookbook

By : Adolfo Eloy Nascimento
Book Image

OAuth 2.0 Cookbook

By: Adolfo Eloy Nascimento

Overview of this book

OAuth 2.0 is a standard protocol for authorization and focuses on client development simplicity while providing specific authorization flows for web applications, desktop applications, mobile phones, and so on. This book also provides useful recipes for solving real-life problems using Spring Security and creating Android applications. The book starts by presenting you how to interact with some public OAuth 2.0 protected APIs such as Facebook, LinkedIn and Google. You will also be able to implement your own OAuth 2.0 provider with Spring Security OAuth2. Next, the book will cover practical scenarios regarding some important OAuth 2.0 profiles such as Dynamic Client Registration, Token Introspection and how to revoke issued access tokens. You will then be introduced to the usage of JWT, OpenID Connect, and how to safely implement native mobile OAuth 2.0 Clients. By the end of this book, you will be able to ensure that both the server and client are protected against common vulnerabilities.
Table of Contents (16 chapters)
Title Page
About the Author
About the Reviewer
Customer Feedback

Using JWE to cryptographically protect JWT tokens

This recipe will present an advanced topic related to JWT architecture, which is JSON Web Encryption (JWE). As you have seen before in the previous recipes of this chapter, we were using the JSON Web Signature (JWS) approach, which promotes integrity protection. With JWE, we start providing confidentiality to JWT tokens issued by the Authorization Server. This recipe is important to learn so you can add another layer of security for your application.

Getting ready

To run this recipe, you will need to create a Spring Boot application to configure the Authorization Server using Java 8, MySQL, Maven, and the library Nimbus JOSE + JWT. The other dependencies will be described in the How to do it... section.


Nimbus JOSE + JWT, by Connect2id is an open source library that will help us to effectively work with JWT.

How to do it...

This recipe shows you how to create the Authorization Server that will be defined as the jwe-serverproject. This project...