Security

https://docs.spring.io/spring-security/reference/

Servlet Authentication Architecture

This discussion expands on Servlet Security: The Big Picture to describe the main architectural components of Spring Security’s used in Servlet authentication. If you need concrete flows that explain how these pieces fit together, look at the Authentication Mechanism specific sections.

  • all endpoints are secured by default
  • SecurityContext can be accessed anywhere in current thread.

Interface defining the minimum security information associated with the current thread of execution.

https://docs.spring.io/spring-security/site/docs/4.0.x/apidocs/org/springframework/security/core/context/SecurityContext.html

By default, SecurityContextHolder uses a ThreadLocal to store these details. Spring Security’s FilterChainProxy ensures that the SecurityContext is always cleared.

Thread-local variable in Java

Authentication Manager

AuthenticationManager is the API that defines how Spring Security’s Filters perform authentication.

ProviderManager

AbstractAuthenticationProcessingFilter

N

OpenID

OpenID Connect (OIDC) is an authentication standard built on top of OAuth 2.0. It defines an ID token type to pair with OAuth 2.0 access and refresh tokens.