๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป๊ฐœ๋ฐœ24

JWT (JSON Web Token): ์›น ์„ธ๊ณ„์˜ ์ƒˆ๋กœ์šด ์ธ์ฆ๋ฐฉ์‹์— ๋Œ€ํ•˜์—ฌ ์›น ๊ฐœ๋ฐœ ์„ธ๊ณ„์—์„œ ์ธ์ฆ์€ ๋Š˜ ๊นŒ๋‹ค๋กœ์šด ๋ฌธ์ œ๋กœ ๋‹ค๊ฐ€์™”์Šต๋‹ˆ๋‹ค. ์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ธ์ฆ์—์„œ JWT๊นŒ์ง€, ์ธ์ฆ์˜ ๋ฐฉ์‹์€ ์›น ์„ธ๊ณ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๋Š์ž„์—†์ด ๋ฐœ์ „ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์š”์ฆ˜ ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ๋Š” JWT์— ๋Œ€ํ•ด ๊ฐ™์ด ์•Œ์•„๋ณผ๊นŒ์š”? 1. JWT๋Š” ๋ฌด์—‡์ผ๊นŒ์š”? ๐Ÿ” JWT, ์ •ํ™•ํžˆ ๋งํ•˜๋ฉด JSON Web Token์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ JSON ํ˜•ํƒœ๋กœ ๊ฐ์‹ธ๋Š” ํ† ํฐ์ธ๋ฐ์š”, ์ด ํ† ํฐ์€ ์›น ์„œ๋น„์Šค์—์„œ ์ธ์ฆ์— ์ฃผ๋กœ ์“ฐ์ž…๋‹ˆ๋‹ค. ์„ ํƒ์ ์œผ๋กœ ์„œ๋ช…๊ณผ ์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•ด ์ •๋ณด์˜ ์•ˆ์ •์„ฑ์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. 2. JWT๊ฐ€ ํƒ„์ƒํ•œ ์ด์œ  ๐ŸŽ‰ ๊ธฐ์กด์—๋Š” ์›น ์ธ์ฆ์„ ์œ„ํ•ด ์„ธ์…˜ ๊ธฐ๋ฐ˜ ๋ฐฉ์‹์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์˜€์ฃ . ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์ƒํƒœ๋ฅผ ๊ณ„์† ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ๋ฐฉ์‹์ธ๋ฐ, ์Šค๋งˆํŠธ ๊ธฐ๊ธฐ์™€ ์ธํ„ฐ๋„ท์˜ ํ™•์‚ฐ์œผ๋กœ ์ธํ•ด ํŠธ๋ž˜ํ”ฝ์ด ๊ธ‰์ฆํ•˜๋ฉด์„œ ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋ฌธ์ œ๊ฐ€ ์ปค์กŒ์Šต๋‹ˆ๋‹ค. JWT๋Š” ์ด๋Ÿฐ.. 2023. 8. 24.
[Flutter] key.properties ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• key.properties ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์•ˆ๋‚ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ํ‚ค์Šคํ† ์–ด ์ƒ์„ฑ ๋จผ์ € ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ์„œ๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค์Šคํ† ์–ด๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” keytool ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋Š” ์ƒˆ๋กœ์šด ํ‚ค์Šคํ† ์–ด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค: keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key ~/key.jks: ํ‚ค์Šคํ† ์–ด์˜ ๊ฒฝ๋กœ์™€ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ๋กœ์™€ ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. key: ๋ณ„์นญ(alias)์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๋ณ„์นญ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด, ํ‚ค์Šคํ† ์–ด์™€ ํ‚ค์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ, ์กฐ์ง์˜ ์ •๋ณด ๋“ฑ์„ ์ž…๋ ฅํ•˜๋ผ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. 2. key.. 2023. 8. 10.
[Flutter] ํ‚ค์Šคํ† ์–ด ์ƒ์„ฑ ๋ช…๋ น์–ด keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key 2023. 8. 10.
[Java] ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ: ํฌ๊ทธ๋ผ์šด๋“œ ์„œ๋น„์Šค์™€ ๋…ธํ‹ฐํ”ผ์ผ€์ด์…˜ ์ฑ„๋„ ํ™œ์šฉ ์•ˆ๋…•ํ•˜์„ธ์š”! ์ด๋ฒˆ์—๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์—์„œ ํฌ๊ทธ๋ผ์šด๋“œ ์„œ๋น„์Šค์™€ ์•Œ๋ฆผ(Notification)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ํฌ๊ทธ๋ผ์šด๋“œ ์„œ๋น„์Šค(Foreground Service)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•ฑ์ด ์‹คํ–‰ ์ค‘์ž„์„ ์•Œ๋ฆฌ๊ณ , ์•ฑ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ๋„ ๊ณ„์†ํ•ด์„œ ๋™์ž‘ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์•Œ๋ฆผ(Notification)์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ •๋ณด๋‚˜ ์ด๋ฒคํŠธ ๋“ฑ์„ ์•Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์šฐ์„ , ํฌ๊ทธ๋ผ์šด๋“œ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” AndroidManifest.xml ํŒŒ์ผ์— "android.permission.FOREGROUND_SERVICE" ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 2. ๋‹ค์Œ์œผ๋กœ๋Š” ํฌ๊ทธ๋ผ์šด๋“œ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด MainActivity.java ํŒŒ์ผ์—์„œ Notification.. 2023. 5. 8.