/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 - 2 0 2 2 Ġst arry cho on Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġio . st arry cho on . resource . infrastructure . config Ċ Ċ import Ġorg . springframework . context . annotation .* Ċ import Ġorg . springframework . security . config . annotation . web . reactive .* Ċ import Ġorg . springframework . security . config . web . server .* Ċ import Ġorg . springframework . security . web . server .* Ċ import Ġorg . springframework . security . web . server . util . matcher .* Ċ Ċ /** Ċ Ġ* Ġ@ author Ġst arry cho on Ċ Ġ*/ Ċ @ Enable Web Flux Security Ċ class ĠResource Server Config Ġ{ ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġsecurity Web FilterChain ( http : ĠServer Http Security ): ĠSecurity Web FilterChain Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġhttp Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsecurity Matcher ( Path Pattern Parser Server Web Exchange Matcher ("/ messages /** ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize Exchange Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize ("/ messages /** ", Ġhas Authority (" SCOPE _ message . read ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoauth 2 Resource Server Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjwt Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ