3 options
OAuth 2.0 cookbook : protect your web applications using Spring Security / Adolfo Eloy Nascimento.
- Format:
- Book
- Author/Creator:
- Nascimento, Adolfo Eloy, author.
- Language:
- English
- Subjects (All):
- Spring (Software framework).
- Application program interfaces (Computer software).
- Application program interfaces (Computer software)--Security measures.
- Physical Description:
- 1 online resource (1 volume) : illustrations
- Edition:
- 1st edition
- Place of Publication:
- Birmingham, England ; Mumbai, [India] : Packt Publishing, 2017.
- System Details:
- text file
- Biography/History:
- Eloy Nascimento Adolfo: Adolfo Eloy Nascimento is a software engineer at Elo7, he has a Bachelors degree in Computer Science, and has been working with software development since 1999. In around 2003, he started working with web development implementing applications using ASP, PHP4/5, JavaScript, and Java (sometimes he still does some maintenance for a Ruby on Rails application). He started using OAuth 2. 0 two years ago, when designing applications using microservice architectures, as well as modeling and interacting with public APIs. As a tech enthusiast, Adolfo also likes to read and learn about programming languages and new technologies. He also believes that besides creating new applications, it is also important to share the knowledge he has acquired, which is what he does by writing for his personal blog, writing articles for Java Magazine in Brazil, and also writing tech books.
- Summary:
- Efficiently integrate OAuth 2.0 to protect your mobile, desktop, Cloud applications and APIs using Spring Security technologies. About This Book Interact with public OAuth 2.0 protected APIs such as Facebook, LinkedIn and Google. Use Spring Security and Spring Security OAuth2 to implement your own OAuth 2.0 provider Learn how to implement OAuth 2.0 native mobile clients for Android applications Who This Book Is For This book targets software engineers and security experts who are looking to develop their skills in API security and OAuth 2.0. Prior programming knowledge and a basic understanding of developing web applications are necessary. As this book's recipes mostly use Spring Security and Spring Security OAuth2, some prior experience with Spring Framework will be helpful. What You Will Learn Use Redis and relational databases to store issued access tokens and refresh tokens Access resources protected by the OAuth2 Provider using Spring Security Implement a web application that dynamically registers itself to the Authorization Server Improve the safety of your mobile client using dynamic client registration Protect your Android client with Proof Key for Code Exchange Protect the Authorization Server from invalid redirection In Detail 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. Style and approach With the help of real-world examples, this book provides step by step recipes for troubleshooting and extending your API security. The book also helps you with accessing and securing data on mobile, desktop,...
- Contents:
- Cover
- Title Page
- Copyright
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: OAuth 2.0 Foundations
- Introduction
- Preparing the environment
- Getting ready
- How to do it...
- See also
- How it works...
- There's more...
- Reading the user's contacts from Facebook on the client side
- Reading the user's contacts from Facebook on the server side
- Accessing OAuth 2.0 LinkedIn protected resources
- Accessing OAuth 2.0 Google protected resources bound to the user's session
- Chapter 2: Implementing Your Own OAuth 2.0 Provider
- Protecting resources using the Authorization Code grant type
- Supporting the Implicit grant type
- Using the Resource Owner Password Credentials grant type as an approach for OAuth 2.0 migration
- Configuring the Client Credentials grant type
- Adding support for refresh tokens
- Using a relational database to store tokens and client details
- See also.
- Using Redis as a token store
- Implementing client registration
- Breaking the OAuth 2.0 Provider in the middle
- Using Gatling to load test the token validation process using shared databases
- Chapter 3: Using OAuth 2.0 Protected APIs
- Creating an OAuth 2.0 client using the Authorization Code grant type
- Creating an OAuth 2.0 client using the Implicit grant type
- Creating an OAuth 2.0 client using the Resource Owner Password Credentials grant type
- Creating an OAuth 2.0 client using the Client Credentials grant type
- Managing refresh tokens on the client side
- Accessing an OAuth 2.0 protected API with RestTemplate
- Chapter 4: OAuth 2.0 Profiles
- Revoking issued tokens
- Remote validation using token introspection
- Improving performance using cache for remote validation
- Using Gatling to load test remote token validation
- Dynamic client registration.
- Getting ready
- Chapter 5: Self Contained Tokens with JWT
- Generating access tokens as JWT
- Validating JWT tokens at the Resource Server side
- Adding custom claims on JWT
- Asymmetric signing of a JWT token
- Validating asymmetric signed JWT token
- Using JWE to cryptographically protect JWT tokens
- Using JWE at the Resource Server side
- Using proof-of-possession key semantics on OAuth 2.0 Provider
- Using proof-of-possession key on the client side
- Chapter 6: OpenID Connect for Authentication
- Authenticating Google's users through Google OpenID Connect
- Obtaining user information from Identity Provider
- Using Facebook to authenticate users
- Using Google OpenID Connect with Spring Security 5
- Using Microsoft and Google OpenID providers together with Spring Security 5
- How to do it.
- How it works...
- Chapter 7: Implementing Mobile Clients
- Preparing an Android development environment
- Creating an Android OAuth 2.0 client using an Authorization Code with the system browser
- Creating an Android OAuth 2.0 client using the Implicit grant type with the system browser
- Creating an Android OAuth 2.0 client using the embedded browser
- Using the Password grant type for client apps provided by the OAuth 2 server
- Protecting an Android client with PKCE
- Using dynamic client registration with mobile applications
- Chapter 8: Avoiding Common Vulnerabilities
- Validating the Resource Server audience
- Protecting Resource Server with scope validation
- Binding scopes with user roles to protect user's resources
- Protecting the client against Authorization Code injection
- Protecting the Authorization Server from invalid redirection
- Index.
- Notes:
- Includes bibliographical references at the end of each chapters and index.
- Description based on online resource; title from PDF title page (EBC, viewed December 28, 2017).
- OCLC:
- 1011595230
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.