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

Supporting the Implicit grant type

This recipe shows you how to configure the Implicit grant type, which is appropriate for web applications which run directly on web browsers (such as JavaScript applications). This recipe will provide everything needed to allow the client to use resources in the name of the Resource Owner by accessing an OAuth 2.0 protected API.

Getting ready

To run this recipe, you can use your preferred IDE and must have Java 8 and Maven installed. As this grant type run totally on the web browser, you don't need to run commands to retrieve access tokens as if they were being performed on the server side. Here the access token will be retrieved implicitly when the user grants permissions for third-party applications. This recipe will use Spring Security OAuth2 Framework and, to keep it as straight as possible, we will not add any database support. The source code for this recipe can be downloaded from