Getting Started with Spring Authorization Server

VMware Tanzu
VMware TanzuVMware Tanzu
Getting Started with
Spring Authorization Server
Joe Grandja
@joe_grandja
Steve Riesenberg
@sjohnr
Security Standards
● OAuth 2.1 Authorization Framework
● OAuth 2.0 Token Revocation
● OAuth 2.0 Token Introspection
● JSON Web Token (JWT)
● JSON Web Key (JWK)
● JSON Web Signature (JWS)
● OpenID Connect Core 1.0
● OpenID Connect Discovery 1.0
● OpenID Connect Dynamic Client Registration 1.0
Core Components / Default Configuration
● RegisteredClientRepository / RegisteredClient
● OAuth2AuthorizationService / OAuth2Authorization
● OAuth2AuthorizationConsentService / OAuth2AuthorizationConsent
● JWKSource<SecurityContext> (Nimbus API)
● ProviderSettings
● OAuth2AuthorizationServerConfiguration /
OAuth2AuthorizationServerConfigurer
Customizing Authorization
● Authorization Endpoint
● Insufficient Redirect URI Validation
● Mix-Up
● Authorization Code Injection
Customizing Client Authentication
● Mutual-TLS Client Authentication
● Client Certificate-Bound Access Tokens
● Token Replay Prevention
PKI Hierarchy
CN=spring-root-ca
CN=spring-client
CN=spring-authorization-server
CN=spring-resource-server
Roadmap
● OpenID Connect Core 1.0
● JSON Web Token (JWT) Profile for OAuth 2.0 Client
Authentication
● OAuth 2.0 Mutual-TLS Client Authentication and
Certificate-Bound Access Tokens
● Resource Indicators for OAuth 2.0
Thank you!
● Spring Authorization Server
○ https://github.com/spring-projects/spring-authorization-server
● Sample branches
○ https://github.com/jgrandja/spring-authorization-server/tree/springone-2021
○ https://github.com/sjohnr/spring-authorization-server/tree/springone-2021
Joe Grandja
@joe_grandja
Steve Riesenberg
@sjohnr
1 of 8

More Related Content

What's hot(20)

OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
Orest Ivasiv8.5K views
Spring SecuritySpring Security
Spring Security
Knoldus Inc.597 views
Building secure applications with keycloak Building secure applications with keycloak
Building secure applications with keycloak
Abhishek Koserwal7.9K views
OAuth2 - IntroductionOAuth2 - Introduction
OAuth2 - Introduction
Knoldus Inc.6.2K views
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav630 views
Angular Data BindingAngular Data Binding
Angular Data Binding
Jennifer Estrada644 views
Spring Framework - Spring SecuritySpring Framework - Spring Security
Spring Framework - Spring Security
Dzmitry Naskou23.5K views
Demystifying OAuth 2.0Demystifying OAuth 2.0
Demystifying OAuth 2.0
Karl McGuinness7.5K views
OpenID Connect: An OverviewOpenID Connect: An Overview
OpenID Connect: An Overview
Pat Patterson13.2K views
OAuth 2.0 and OpenId ConnectOAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId Connect
Saran Doraiswamy3K views
JSON WEB TOKENJSON WEB TOKEN
JSON WEB TOKEN
Knoldus Inc.270 views
Secure your app with keycloakSecure your app with keycloak
Secure your app with keycloak
Guy Marom861 views
JavaOne 2014 - Securing RESTful Resources with OAuth2JavaOne 2014 - Securing RESTful Resources with OAuth2
JavaOne 2014 - Securing RESTful Resources with OAuth2
Rodrigo Cândido da Silva18K views
PHP SecurityPHP Security
PHP Security
Mindfire Solutions2.3K views
Exception handlingException handling
Exception handling
Anna Pietras939 views
OAuth 2OAuth 2
OAuth 2
ChrisWood262359 views
Meetup angular http clientMeetup angular http client
Meetup angular http client
Gaurav Madaan276 views
Spring SecuritySpring Security
Spring Security
Sumit Gole1.1K views

Similar to Getting Started with Spring Authorization Server(20)

Getting Started with Spring Authorization Server

  • 1. Getting Started with Spring Authorization Server Joe Grandja @joe_grandja Steve Riesenberg @sjohnr
  • 2. Security Standards ● OAuth 2.1 Authorization Framework ● OAuth 2.0 Token Revocation ● OAuth 2.0 Token Introspection ● JSON Web Token (JWT) ● JSON Web Key (JWK) ● JSON Web Signature (JWS) ● OpenID Connect Core 1.0 ● OpenID Connect Discovery 1.0 ● OpenID Connect Dynamic Client Registration 1.0
  • 3. Core Components / Default Configuration ● RegisteredClientRepository / RegisteredClient ● OAuth2AuthorizationService / OAuth2Authorization ● OAuth2AuthorizationConsentService / OAuth2AuthorizationConsent ● JWKSource<SecurityContext> (Nimbus API) ● ProviderSettings ● OAuth2AuthorizationServerConfiguration / OAuth2AuthorizationServerConfigurer
  • 4. Customizing Authorization ● Authorization Endpoint ● Insufficient Redirect URI Validation ● Mix-Up ● Authorization Code Injection
  • 5. Customizing Client Authentication ● Mutual-TLS Client Authentication ● Client Certificate-Bound Access Tokens ● Token Replay Prevention
  • 6. PKI Hierarchy CN=spring-root-ca CN=spring-client CN=spring-authorization-server CN=spring-resource-server
  • 7. Roadmap ● OpenID Connect Core 1.0 ● JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication ● OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens ● Resource Indicators for OAuth 2.0
  • 8. Thank you! ● Spring Authorization Server ○ https://github.com/spring-projects/spring-authorization-server ● Sample branches ○ https://github.com/jgrandja/spring-authorization-server/tree/springone-2021 ○ https://github.com/sjohnr/spring-authorization-server/tree/springone-2021 Joe Grandja @joe_grandja Steve Riesenberg @sjohnr