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
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Revoking issued tokens


This recipe helps you to revoke client access tokens, which is defined by the Token Revocation specification defined by RFC 7009 at https://tools.ietf.org/html/rfc7009. As per the specification, this OAuth 2.0 profile was created to allow clients to notify the Authorization Server that an access token or refresh token is no longer needed. This provides the Authorization Server with the ability to clear unused tokens in the database, thus avoiding useless data. Besides the revocation support, this recipe will help you to create an OAuth 2.0 Provider which also serves a user profile API, as we did for previous recipes in this book.

Getting ready

To run this recipe, you will need Java 8, Maven, MySQL, and your preferred IDE. As we will use Spring Boot, it's also recommended that you create an initial project using Spring Initializr.

How to do it...

The next steps will show how you can create an Authorization Server that implements a token revocation profile:

  1. Create the project...