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

Remote validation using token introspection

As an OAuth provider can be deployed as separate entities, the Resource Server should be able to validate access tokens by querying directly at a shared database or even by asking the Authorization Server through an available endpoint. To support this approach, the community has created an OAuth 2.0 profile called OAuth 2.0 Token Introspection, defined by the RFC 7662 specification which is available at This recipe will present how to enable the Authorization Server to support the /oauth/check_token endpoint and how to configure RemoteTokenServices at the Resource Server, which can be used to remotely validate any presented access token.

Getting ready

Because of the usage of remote token validation, you will need to create two separate applications for the Authorization Server and the Resource Server. Both applications will rely on the database to store and share the Resource Owner's information instead of using...