์Šฌ๋ž™ ์•Œ๋ฆผ ๊ด€๋ จ ์ •๋ณด

์Šฌ๋ž™ ์•Œ๋ฆผ ๊ด€๋ จ ์ •๋ณด

์Šฌ๋ž™ ์•Œ๋ฆผ ์‹œ๋‚˜๋ฆฌ์˜คusers.list API๋กœ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ค๋Š”๊ฑด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ, ๊ฐ€์ž…์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์Šฌ๋ž™ ID์„ ์„ ํƒํ•ด๋†“๊ณ  ๋“ฑ๋กํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ํ•˜๋Š”๊ฑด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•˜์ง€?
  • ๋ณธ์ธ ์ธ์ฆ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์„œ ์ธ์ฆ ํ›„์— ๋“ฑ๋กํ•˜๋„๋ก ํ•ด์•ผํ•˜๋‚˜?
  • ์•„ํ•˜. ์–ด์ฐจํ”ผ ์Šฌ๋ž™ ํ† ํฐ๋„ ์ˆจ๊ฒจ์•ผํ•˜๋‹ˆ๊น ์Šฌ๋ž™ ๊ด€๋ จ ์ฒ˜๋ฆฌ ๋ฐ ๋ณธ์ธ์ธ์ฆ์„ ์ฒ˜๋ฆฌํ•˜๋Š” node.js ์„œ๋ฒ„๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค๊นŒ?
์Šฌ๋ž™ ๋“ฑ๋ก ์œ ์ € ์‹œ๋‚˜๋ฆฌ์˜ค
  1. ํ™˜๊ฒฝ์„ค์ •์—์„œ ์Šฌ๋ž™ ๋“ฑ๋ก ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.
  1. ์Šฌ๋ž™ ๋“ฑ๋ก ํŽ˜์ด์ง€์—์„œ ์Šฌ๋ž™ ์‚ฌ์šฉ์ž ๊ฒ€์ƒ‰ Input์— ๊ฒ€์ƒ‰ํ•  ๋•Œ๋งˆ๋‹ค ๋…ธ๋“œ ์„œ๋ฒ„์—์„œ ํ•„ํ„ฐ๋ง๋œ ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
  1. ์Šฌ๋ž™ ์‚ฌ์šฉ์ž๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์„ ํƒํ•˜๋ฉด ์ธ์ฆ๋ฒˆํ˜ธ ๋ฐœ์†ก ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.
  1. ํ•ด๋‹น ์Šฌ๋ž™ ๊ณ„์ •์˜ DM์œผ๋กœ 6์ž๋ฆฌ์˜ ์ธ์ฆ๋ฒˆํ˜ธ๊ฐ€ ๋ฐœ์†ก๋œ๋‹ค.
  1. ์‚ฌ์šฉ์ž๋Š” ์›น์—์„œ 3๋ถ„ ์ด๋‚ด์— ์ธ์ฆ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.
  1. ์ธ์ฆ ์„ฑ๊ณต์‹œ SNS ์„œ๋ฒ„์— ์Šฌ๋ž™ ID ํ•„๋“œ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.
โญ
์œ„๊ณผ์ •์„ ๊ฑฐ์ณ ์ธ์ฆ์„ ํ•œ ์‚ฌ์šฉ์ž๋“ค ํ•œ์—์„œ๋งŒ ํŽธ์ง€๊ฐ€ ์ „์†ก๋˜์—ˆ์„ ๋•Œ ์Šฌ๋ž™ DM์œผ๋กœ ์•Œ๋ฆผ์ด ์˜ด
notion image
๋ฐฑ์—”๋“œ ์„œ๋ฒ„
๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋Š” ๋ชจ๋“  ์Šฌ๋ž™ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ํŒŒ์ผ ๋ฐ์ดํ„ฐ๋กœ ์บ์‹ฑํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๊ฒ€์ƒ‰ ์š”์ฒญ์ด ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋ฉด ๊ทธ๋ƒฅ ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ์—์„œ ํ•„ํ„ฐ๋งํ•œ ๋ฐ์ดํ„ฐ๋งŒ ๋ฑ‰์–ด์ค€๋‹ค. ์บ์‹ฑ ๊ธฐ๊ฐ„์€ 1์ผ์ •๋„๋กœ ์žก์ž. (1์ผ ์ดˆ๊ณผ์‹œ์—” ์ƒˆ๋กญ๊ฒŒ ์Šฌ๋ž™ API ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๊ณ  ํŒŒ์ผ ๋ฐ์ดํ„ฐ๋กœ ์ €์žฅํ•จ)๋…ธ๋“œ ์„œ๋ฒ„๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค๋ฉด..์ƒˆ๋กœ์šด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํŒŒ์„œ ๋งŒ๋“ค๊นŒ?์•„๋‹ˆ๋ฉด ๋ชจ๋…ธ๋ ˆํฌ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค๊นŒ? (ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ /slack-server, /client ๋กœ ๋‚˜๋‰˜๋Š” ๋А๋‚Œ)
 
 

ํ•„์š”ํ•œ ์ถ”๊ฐ€ ์ •๋ณด

  • ๋ฐฑ์—”๋“œ ๊ต์œก์ƒ์ธ์ง€ ํ”„๋ก ํŠธ์—”๋“œ ๊ต์œก์ƒ์ธ์ง€ ํ™•์ธํ•˜๋Š” ํ† ๊ธ€ ๋ฒ„ํŠผ
    • โ†’ ๊ต์œก์ƒ๋ณ„๋กœ ์Šฌ๋ž™ ์ฑ„๋„ api url์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ
  • ํŽธ์ง€ ์ „์†ก์‹œ ์Šฌ๋ž™์•Œ๋ฆผ api ํ˜ธ์ถœ์€ ์„œ๋ฒ„์—์„œ
 
 

์Šฌ๋ž™ ์ธ์ฆ Confirmation ๊ณ ๋ ค์‚ฌํ•ญ

URL /setting/slack/confirmation ์— ๋“ค์–ด์™”์„ ๋•Œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋กœ์ง
  1. URL์— query๋กœ ๋ถ™์–ด์˜จ token์˜ ๋ฐ์ดํ„ฐ๋กœ SNS ์„œ๋ฒ„์— GET /auth-check ์š”์ฒญ.
  1. ์„ฑ๊ณต์‹œ ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€์— ํ† ํฐ ์ €์žฅ.
  1. ์‹คํŒจ์‹œ 404 ํŽ˜์ด์ง€๋กœ ์ด๋™.
  1. ๋กœ๋”ฉ์ค‘์—๋Š” ์ฒ˜๋ฆฌ์ค‘์ž…๋‹ˆ๋‹ค... ๋ผ๋Š” ๋А๋‚Œ์˜ ํ™”๋ฉด ๋ณด์—ฌ์ฃผ๊ธฐ
 
 
  1. ๋กœ๋”ฉํ• ๋•Œ ์ด๋ฃจ์–ด์ ธ์•ผํ•จ โ‡’ Suspense ์ด์šฉ
  1. ์ผํšŒ์šฉ token params๋ฅผ ๋‹ค์‹œ ์Šฌ๋ž™ ์„œ๋ฒ„์— ๋˜์ ธ์ฃผ๊ณ  response๋กœ accesstoken์„ ๋ฐ›๋Š”๋‹ค.
    1. ์ด๋•Œ โ‡’ ์„ธ์…˜์Šคํ† ๋ฆฌ์ง€์— token ๋„ฃ๊ธฐ
  1. GET/auth-check ๋‹ค์‹œ ์š”์ฒญ
  1. ์„ฑ๊ณต์‹œ confirmation page ๋‚˜์˜ค๊ธฐ
    1. ์‹คํŒจ์‹œ 404ํŽ˜์ด์ง€