Introspection
Spring Authorization Server - ์๋ํฌ์ธํธ ํ๋กํ ์ฝ
OAuth 2.0 Token Introspection Endpoint
OAuth2TokenEndpointConfigurer
OAuth2 ํ ํฐ ๊ฒ์ฌ ์๋ํฌ์ธํธ์ ๋ํ ์ฌ์ฉ์ ์ ์ ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
OAuth2 ํ ํฐ ๊ฒ์ฌ ์์ฒญ์ ๋ํ ์ ์ฒ๋ฆฌ, ๊ธฐ๋ณธ ์ฒ๋ฆฌ ๋ฐ ํ์ฒ๋ฆฌ ๋ก์ง์ ์ปค์คํ ํ๊ฒ ๊ตฌํํ ์ ์๋๋ก API๋ฅผ ์ง์ํ๋ค.
OAuth2TokenIntrospectionEndpointFilter๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด๋ฅผ OAuth2 ์ธ์ฆ ์๋ฒSecurityFilterChain๋น์ ๋ฑ๋กํ๋ค.
OAuth2TokenIntrospectionEndpointFilter
OAuth2 ํ ํฐ ๊ฒ์ฌ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ํํฐ์ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
introspectionRequestConverter
OAuth2 ํ ํฐ ๊ฒ์ฌ ์์ฒญ์ ์ถ์ถํ ๋ ์ฌ์ฉ๋๋ฉฐ,
OAuth2TokenIntrospectionAuthenticationToken์ ๋ฐํํ๋ค.
OAuth2TokenIntrospectionAuthenticationProvider
OAuth2TokenIntrospectionAuthenticationToken์ ๋ฐ์ ์ธ์ฆ ์ฒ๋ฆฌ๋ฅผ ํ๋AuthenticationProvider๊ตฌํ์ฒด
RequestMatcher
ํ ํฐ ๊ฒ์ฌ ์์ฒญ ํจํด
/oauth2/introspect, POST
์ฌ์ฉ์ ์ ์ ๊ธฐ๋ฅ

introspectionRequestConverter์ถ๊ฐ์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๊ด๋ฆฌํ๋
introspectionRequestConverter๋ค์ ์ปค์คํ ํ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅAuthenticationProvider์ถ๊ฐ์คํ๋ง ์ํ๋ฆฌํฐ๊ฐ ๊ด๋ฆฌํ๋
AuthenticationProvider๋ค์ ์ปค์คํ ํ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ธ์ฆ๋
OAuth2TokenIntrospectionAuthenticationToken์ ์ฒ๋ฆฌํ๊ณOAuth2TokenIntrospection๋ฅผ ๋ฐํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ์ฒ๋ฆฌ๊ธฐOAuth2AuthenticationException์ ์ฒ๋ฆฌํ๊ณOAuth2Error์๋ต์ ๋ฐํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ์ฒ๋ฆฌ๊ธฐ
Resource Server ์ค์



์ฝ๋ ํ๋ฆ

1. ํ ํฐ ์์ฒญ

2. ์ก์ธ์ค ํ ํฐ์ผ๋ก ๋ฆฌ์์ค ์๋ฒ๋ก ์์ฒญ

3. ๋ฆฌ์์ค ์๋ฒ - BearerTokenAuthenticationFilter -> OpaqueTokenAuthenticationProvider

makeRequest()๋ก ์ธ๊ฐ ์๋ฒ์ ํต์ ํ ์๋ต์ ๋ฐ๋๋ค.


4. ์ธ๊ฐ ์๋ฒ - OAuth2TokenIntrospectionEndpointFilter -> OAuth2TokenIntrospectionAuthenticationConverter
ํ์ํ ์ ๋ณด ์ถ์ถ ํ
OAuth2TokenIntrospectionAuthenticationToken์ ๋ฐํํ๋ค.

5. ์ธ๊ฐ ์๋ฒ - ProviderManager -> OAuth2TokenIntrospectionAuthenticationProvider
ํ ํฐ์ ์ ํจ์ฑ์ ํ์ธํ๊ณ
OAuth2TokenIntrospectionAuthenticationToken์ ๋ฐํํ๋ค.

6. ์ธ๊ฐ ์๋ฒ - OAuth2TokenIntrospectionEndpointFilter -> sendIntrospectionResponse

7. ๋ฆฌ์์ค ์๋ฒ - Controller


์ด์ โฉ๏ธ - Spring Authorization Server(์๋ํฌ์ธํธ ํ๋กํ ์ฝ) - Token Endpoint
Last updated