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

Breaking the OAuth 2.0 Provider in the middle

This recipe will show how you can create an OAuth 2.0 Provider, dividing Authorization Server and Resource Server responsibilities into different projects.

Getting ready

To run this recipe, you will need to create two different applications to implement the Authorization Server and the Resource Server responsibilities. As the Authorization Server is in charge of issuing access tokens and Resource Server has to validate access tokens, both applications need a shared database. In that way, the Resource Server can query for an access token that was persisted in some database structure by the Authorization Server. For this recipe, you will need Redis as the strategy for database sharing.

How to do it...

Perform the following steps to start creating the Authorization Server and Resource Server separately:

  1. The first thing to do is to create both applications. Go to Spring Initializr and generate the project for the Authorization Server named (Artifact)...