package Ġno . nav . bid rag . ved tak Ċ Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġio . swagger . v 3 . o as . annotations . Open API Definition Ċ import Ġio . swagger . v 3 . o as . annotations . enums . Security Scheme Type Ċ import Ġio . swagger . v 3 . o as . annotations . info . Info Ċ import Ġio . swagger . v 3 . o as . annotations . security . Security Requirement Ċ import Ġio . swagger . v 3 . o as . annotations . security . Security Scheme Ċ import Ġno . nav . bid rag . commons . Exception Logger Ċ import Ġno . nav . bid rag . commons . web . Correlation Id Filter Ċ import Ġno . nav . bid rag . til gang sk ont roll . Security Utils Ċ import Ġno . nav . bid rag . ved tak . hen del ser . Default V ed tak Kafka Event Producer Ċ import Ġno . nav . bid rag . ved tak . hen del ser . V ed tak Kafka Event Producer Ċ import Ġno . nav . security . token . support . core . context . Token Validation Context Ċ import Ġno . nav . security . token . support . core . context . Token Validation Context Holder Ċ import Ġno . nav . security . token . support . core . jwt . Jwt Token Ċ import Ġno . nav . security . token . support . spring . api . Enable Jwt Token Validation Ċ import Ġorg . springframework . beans . factory . annotation . Value Ċ Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġorg . springframework . context . annotation . Profile Ċ import Ġorg . springframework . kafka . core . Kafka Template Ċ import Ġjava . util .* ĊĊ Ċ const Ġval ĠLI VE _ PROFILE Ġ= Ġ" live " Ċ Ċ @ Configuration Ċ @ Open API Definition ( ĊĠ Ġinfo Ġ= ĠInfo ( title Ġ= Ġ" bid rag - ved tak ", Ġversion Ġ= Ġ" v 1 "), ĊĠ Ġsecurity Ġ= Ġ[ Security Requirement ( name Ġ= Ġ" bearer - key ")] Ċ ) Ċ @ Enable Jwt Token Validation Ċ @ Security Scheme ( ĊĠ Ġbe arer Format Ġ= Ġ" JWT ", ĊĠ Ġname Ġ= Ġ" bearer - key ", ĊĠ Ġscheme Ġ= Ġ" bearer ", ĊĠ Ġtype Ġ= ĠSecurity Scheme Type . HTTP Ċ ) Ċ Ċ class ĠBid rag V ed tak Config Ġ{ ĊĊĠ Ġ@ Bean ĊĠ Ġfun Ġexception Logger (): ĠException Logger Ġ{ ĊĠĠĠ Ġreturn ĠException Logger ( Bid rag V ed tak :: class . java . simple Name ) ĊĠ Ġ} ĊĊĠ Ġ@ Bean ĊĠ Ġfun Ġcorrelation Id Filter (): ĠCorre lation Id Filter Ġ{ ĊĠĠĠ Ġreturn ĠCorre lation Id Filter () ĊĠ Ġ} ĊĊĠ Ġ@ Bean ĊĠ Ġfun Ġoid c Token Manager ( token Validation Context Holder : ĠToken Validation Context Holder ?): ĠO id c Token Manager ? Ġ{ ĊĠĠĠ Ġreturn ĠO id c Token Manager Ġ{ ĊĠĠĠĠĠ ĠOptional . of Nullable ( token Validation Context Holder ) ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġobj : ĠToken Validation Context Holder Ġ-> Ġobj . token Validation Context Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġtoken Validation Context : ĠToken Validation Context Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġtoken Validation Context . get Jwt Token As Optional ( IS SU ER ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġobj : ĠOptional < Jwt Token ?> Ġ-> Ġobj . get () Ġ} ĊĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġobj : ĠJwt Token Ġ-> Ġobj . token AsString Ġ} ĊĠĠĠĠĠĠĠ Ġ. orElse Throw Ġ{ ĊĠĠĠĠĠĠĠĠĠ ĠIllegalStateException ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" K un ne Ġik ke Ġv ider es ende ĠBearer Ġtoken " ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ@ Bean ĊĠ Ġ@ Profile ( LI VE _ PROFILE ) ĊĠ Ġfun Ġved tak Kafka Event Producer ( ĊĠĠĠ Ġkafka Template : ĠKafka Template < String ?, ĠString ?> ?, ĊĠĠĠ ĠobjectMapper : ĠObjectMapper , ĊĠĠĠ Ġ@ Value ("\ ${ TOPIC _ VED TA K }") Ġtopic : ĠString ĊĠ Ġ) Ġ= ĠDefault V ed tak Kafka Event Producer ( ĊĠĠĠ Ġkafka Template , ĠobjectMapper , Ġtopic ĊĠ Ġ) ĊĊĠ Ġfun Ġinterface ĠO id c Token Manager Ġ{ ĊĠĠĠ Ġfun Ġh ent Id Token (): ĠString ? ĊĠ Ġ} Ċ /* ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLI VE _ PROFILE Ġ= Ġ" live " ĊĠĠĠ Ġ}*/ Ċ }