๐Ÿ”ฅํ”„๋กœ์ ํŠธ๐Ÿ”ฅ

๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ "error_description": "malformed auth code." ๋ผ๋Š” ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.๊ตฌ๊ธ€์˜ ์Šน์ธ์ฝ”๋“œ๋ฅผ ๋ฐ›์•„์™€ ํ•ด๋‹น ์Šน์ธ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด jwt๋ฅผ ๋ฐ›์•„์˜ค๋ ค ํ•˜์˜€์œผ๋‚˜, ์ด ๋ถ€๋ถ„์—์„œ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚ฌ๋˜ ๊ฒƒ์ด๋‹ค.๋ฌธ์ œ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค!!!!- ๋ฐœ๊ธ‰๋œ ์ฝ”๋“œ4%2F0Adeu5BXSr6ULvZ92_2UNEUpsqKplv7lMu66sSLCRZVEfNwN14hbvQtS7uS1cVtyw5fqsGw๋ฐœ๊ธ‰๋œ ์ฝ”๋“œ์˜ ์•ž๋ถ€๋ถ„์ธ %2F ๋ถ€๋ถ„์ด ์ธ์ฝ”๋”ฉ์ด ์ž˜๋ชป๋˜์–ด ์ž˜๋ชป ์ธ์ฝ”๋”ฉ๋œ ์ธ๊ฐ€์ฝ”๋“œ๋กœ jwt๋ฅผ ๋ฐ›์•„์˜ค๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚ฌ๋‹ค!private String toRequestAccessToken(String code) { // ๋ฐœ๊ธ‰๋ฐ›์€ code -> POST ์š”์ฒญ ..
์ด๋ฒˆ ์Šคํ”„๋ฆฐํŠธ ๊ธฐ๊ฐ„๋™์•ˆ ๊ฐœ๋ฐœํ•œ ๋‚˜์˜ ์ž‘์—…์นด์นด์˜ค, ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ( ๊ตฌ๊ธ€์€ ๋ณด์™„ ํ•„์š” )๋กœ๊ทธ์•„์›ƒ, ํšŒ์› ํƒˆํ‡ด์ผ๊ธฐ ์ƒ์„ธ ํŽ˜์ด์ง€ API์ฆ๊ฒจ์ฐพ๊ธฐ, ํ™”๊ฐ€ , ๊ฐ์ • API์นดํ”„์นด ๋ฐฐํฌ์†Œ๋‚˜ํ๋ธŒ๋ฅผ ํ†ตํ•œ ์ฝ”๋“œํ’ˆ์งˆ ํ™•์ธ์นด์นด์˜ค , ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ With Spring SecuritySpring Security ๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด Spring Security in Action ์ฑ…์„ ์ฝ๊ณ  ๊ฐœ๋ฐœ์„ ํ•˜์˜€๋‹ค!ํ•˜์ง€๋งŒ ํ•ด๋‹น ์ฑ…์€ Spring Security 5.x.x ๋ฒ„์ „์œผ๋กœ ํ˜„์žฌ ๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” springboot 3.x.x ๋ฒ„์ „์—๋Š” ์•Œ๋งž์ง€ ์•Š์•˜๋‹ค.์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์˜ ๊ธฐ๋ณธ์ ์ธ ๋กœ์ง์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.์ธ์ฆ ํ•„ํ„ฐ๋ฅผ ๊ฑฐ์น˜๊ณ  ์ธ์ฆ ๊ด€๋ฆฌ์ž๋ฅผ ๊ฑฐ์นœํ›„ , authenticatino provider์—๊ฒŒ ์‚ฌ์šฉ์ž ์„ธ๋ถ€ ์ •๋ณด์™€ ์•”ํ˜ธ ์ธ์ฝ”๋”๋ฅผ ๋ฐ›์•„์„œ ์ธ์ฆ์„ ํ•œ ์ดํ›„..
KafkaSpring ์—์„œ Kafka๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๋‹ค ๋ณด๋‹ˆ, ๊ด€๋ จ ์„ค์ •๋“ค์„ ํ•ด์ฃผ์–ด์•ผ ํ–ˆ๋‹ค. ํ•ด๋‹น ์„ค์ •๋“ค์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค!ConsumerConfigpackage com.hanium.diarist.common.config;import org.apache.kafka.clients.consumer.ConsumerConfig;import org.apache.kafka.common.serialization.StringDeserializer;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annota..
๋ฐฐ์šด๊ฒƒGitCherry-Pick๐Ÿ’ก cherry-pick์„ ์•Œ๊ฒŒ๋œ ๋ฐฐ๊ฒฝ์˜ค๋Š˜ ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ jira์˜ ํ‹ฐ์ผ“ ๋‹จ์œ„๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ด ๊ฐœ๋ฐœ์„ ํ•˜๋ ค๋‹ค ๋ณด๋‹ˆ feat-99 ์—์„œ ๊ฐœ๋ฐœํ•œ ์ฝ”๋“œ๊ฐ€ feat-103์— ํ•„์š”ํ•˜๊ฒŒ ๋œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ feat-99๋ฅผ Pull Request๋ฅผ ํ•˜๊ณ  ๋‚˜๋‹ˆ ํŒ€์›๋“ค์ด pr์„ ๋ฐ›์•„์ฃผ๊ณ  ๋‚ด๊ฐ€ upstream ์—์„œ ๊ฐ€์ ธ์˜ฌ ๋•Œ ๊นŒ์ง€ ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋‹ค! ํŒ€์›์ด ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ์ž‘์„ฑํ•˜๋ผ ํ•˜์˜€์œผ๋‚˜ cherry-pick ์— ๋Œ€ํ•ด์„œ ์•Œ๊ฒŒ ๋˜์–ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.feat-99 ์—์„œ ๊ฐœ๋ฐœํ•œ ์ปค๋ฐ‹ ๊ธฐ๋ก์„ feat-103 ๋ธŒ๋žœ์น˜๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ด๋Ÿฌํ•œ ๊ณผ์ • ๋•์— ๊ฐœ๋ฐœ์„ ์ˆ˜์›”ํžˆ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.๋ฌผ๋ก  ๋ฆฌ๋ทฐ ๊ณผ์ •์—์„œ ํ•ด๋‹น ๋กœ์ง์ด ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค..!๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ปค๋ฐ‹๋“ค๋งŒ ๊ฐ€..
jmboy
'๐Ÿ”ฅํ”„๋กœ์ ํŠธ๐Ÿ”ฅ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก