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

Using dynamic client registration with mobile applications

As stated by RFC 8252, native apps arestated as public clients except when using a mechanism like dynamic client registration. By using dynamic client registration (which also has it's own specification defined by RFC 7591 and can be read at, we create the possibility of having separate credentials for each client installation. The main advantage achieved by this approach is that it compromises just one client application instead of all client applications that may share the same credentials. It also creates the possibility to store the credentials in the memory rather than using local storage. This recipe presents you with how you can create an Android app that registers itself against the OAuth 2.0 Provider to improve the safeness of the application.


Issuing an a client secret for a native client, when using dynamic client registration is not a problem regarding the Security Considerations...