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

Using proof-of-possession key on the client side


In the previous recipe, you can understand all the pieces required for enabling proof-of-possession key semantics at the OAuth Provider side. This recipe will help you to create an application that is able to interact with the OAuth Provider, being capable to prove that it has possession of a private key related to the public key embedded within the JWS token that can be presented to the Resource Server when interacting with protected resources.

Getting ready

This recipe presents you with how to implement the client side of a proof-of-possession key stack, which is implemented as a Spring Boot application using Java 8, Maven, Spring Web, Spring Security, and Nimbus JOSE + JWT (which provides JWE and encryption capabilities). The other dependencies will be described in the How to do it... section.

How to do it...

Now you will be guided to create thepop-client application using proof-of-possession key semantics. This project is also available on...