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 the Resource Owner Password Credentials grant type as an approach for OAuth 2.0 migration


This recipe will show you how to configure the Resource Owner Password Credentials, or Password Credentials for short. Although this grant type should be avoided at any cost, because by using it we are asking for the user's credentials (and that's what OAuth 2.0 wants to solve by the user's access delegation), it's important to mention this recipe as a strategy when migrating from a user's credential sharing approach to the OAuth 2.0 approach. In addition, it might be used safely when both the client and the OAuth 2.0 Provider belong to the same solution.

Getting ready

To run this recipe, you can use your preferred IDE and must have Java 8 and Maven installed. It's also recommended to have CURL or Postman installed, because we will interact with the Authorization Server and Resource Server automatically without actually using any client. By running this recipe, your OAuth 2.0 Provider will be able...