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

STUDY/ETC

SNS ์†Œ์…œ ๋กœ๊ทธ์ธ(์นด์นด์˜ค๋กœ๊ทธ์ธ)

๋ฐ˜์‘ํ˜•

* SNS ์†Œ์…œ ๋กœ๊ทธ์ธ(์นด์นด์˜ค๋กœ๊ทธ์ธ)

  • ์นด์นด์˜ค๋กœ๊ทธ์ธ์€ OAuth 2.0 ๊ธฐ๋ฐ˜์˜ ์†Œ์…œ ๋กœ๊ทธ์ธ ์„œ๋น„์Šค 

OAuth 2.0 : ์ธ์ฆ์„ ์œ„ํ•œ ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ

  Third-Party ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ ๋ฆฌ์†Œ์Šค ์†Œ์œ ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ๋ฆฌ์†Œ์Šค ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์œ„์ž„ํ•˜๋Š” ๋ฐฉ์‹์„ ์ œ๊ณต

  ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ, ์นด์นด์˜ค, ๋„ค์ด๋ฒ„ ๋“ฑ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ„ํŽธ๋กœ๊ทธ์ธ๋„ OAuth 2.0 ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์˜ ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ธฐ๋Šฅ์„ ์ œ๊ณต

 

*์นด์นด์˜ค ๋กœ๊ทธ์ธ ์ค€๋น„

  1. ์นด์นด์˜ค ๋””๋ฒจ๋กœํผ์˜ ๋‚ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜, ํ”Œ๋žซํผ ์ถ”๊ฐ€, RedirectURI๋“ฑ๋ก

  • ์„œ๋น„์Šค์—์„œ ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ฆํ•˜์ง€ ์•Š๊ณ  ์นด์นด์˜ค ์ชฝ์œผ๋กœ ๋„˜๊ฒจ์„œ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ›„ ํ† ํฐ์„ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์„œ๋น„์Šค ์ธก์— ์ „๋‹ฌ
  • ์ œ๊ณต๋ฐ›์€ ์ •๋ณด๋กœ ์„œ๋น„์Šค ํšŒ์›๊ฐ€์ž… ์ฒ˜๋ฆฌ(์‹ ๊ทœ์ผ ๊ฒฝ์šฐ)
  • ์ œ๊ณต๋ฐ›์€ ์ •๋ณด๋กœ ์„œ๋น„์Šค ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ(๊ธฐ์กด ํšŒ์›์ผ ๊ฒฝ์šฐ)
  • ๊ฐœ๋ฐœ๋ฌธ์„œ : https://developers.kakao.com/docs/latest/ko/kakaologin/common
  • ๋””์ž์ธ์†Œ์Šค : https://developers.kakao.com/tool/resource/login
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ : https://developers.kakao.com/docs/latest/ko/kakaologin/js

* ์นด์นด์˜ค ๊ณ„์ • ์ •๋ณด(ํ•„์ˆ˜)

๋‹‰๋„ค์ž„(profile_nickname) ์นด์นด์˜ค๊ณ„์ • ํ”„๋กœํ•„ ๋‹‰๋„ค์ž„
ํ”„๋กœํ•„์‚ฌ์ง„(profile_image) ์นด์นด์˜ค๊ณ„์ • ํ”„๋กœํ•„ ์‚ฌ์ง„(์‚ฌ์ง„URL, ์ธ๋„ค์ผURL)
์นด์นด์˜ค๊ณ„์ •(์ด๋ฉ”์ผ)(account_email) ์นด์นด์˜ค๊ณ„์ • ๋Œ€ํ‘œ ์ด๋ฉ”์ผ(์ด๋ฉ”์ผ, ์ด๋ฉ”์ผ์ธ์ฆ์—ฌ๋ถ€ ๋“ฑ)

*์นด์นด์˜ค ๊ณ„์ • ์ •๋ณด(์„ ํƒ)

์ด๋ฆ„(name) ์นด์นด์˜ค๊ณ„์ • ์ด๋ฆ„
์„ฑ๋ณ„(gender) ์นด์นด์˜ค๊ณ„์ •์˜ ์„ฑ๋ณ„
์—ฐ๋ น๋Œ€(age_range) ์นด์นด์˜ค ๊ณ„์ •์˜ ์—ฐ๋ น๋Œ€, ํ•œ๊ตญ๋‚˜์ด(14์„ธ ๋ฏธ๋งŒ,์ด์ƒ/ 20๋Œ€ ๋“ฑ) 
์ƒ์ผ(birthday) ์นด์นด์˜ค๊ณ„์ •์˜ ์ƒ์ผ
์ถœ์ƒ ์—ฐ๋„(birthyear) ์นด์นด์˜ค๊ณ„์ •์˜ ์ถœ์ƒ ์—ฐ๋„
์นด์นด์˜ค๊ณ„์ •(์ „ํ™”๋ฒˆํ˜ธ)(phone_number) ์นด์นด์˜ค๊ณ„์ •๊ณผ ์—ฐ๊ฒฐ๋œ ์นด์นด์˜คํ†ก์— ๋“ฑ๋ก๋œ ์ „ํ™”๋ฒˆํ˜ธ
CI (ci) ์นด์นด์˜ค๊ณ„์ •์˜ ์•”ํ˜ธํ™”๋œ ์ด์šฉ์ž ํ™•์ธ๊ฐ’
๋ฐฐ์†ก์ง€(shipping_address) ์นด์นด์˜ค๊ณ„์ •์˜ ๋ฐฐ์†ก์ง€ ์ •๋ณด

 

<๋กœ๊ทธ์ธ>

1. kakao.Auth.authorize() : ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ•จ์ˆ˜

  https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#before-you-begin-process (Rest API)

  * ์‘๋‹ต์ฝ”๋“œ

2. ์นด์นด์˜คํ†ก์œผ๋กœ ๋กœ๊ทธ์ธ ๋˜๋Š” ์นด์นด์˜ค ๊ณ„์ • ์ •๋ณด ์ž…๋ ฅ

3. ์‚ฌ์šฉ์ž ๋™์˜

4. ์„ฑ๊ณต - ์ธ๊ฐ€์ฝ”๋“œ ๋ฐœ๊ธ‰ (code, state)  : RedirectURI๋กœ 302 Redirect / ์‹คํŒจ - error ๋ฐ error_description 

    https://developers.kakao.com/docs/latest/ko/kakaologin/trouble-shooting(์ฃผ์š” ์—๋Ÿฌ)

    https://developers.kakao.com/docs/latest/ko/reference/rest-api-reference#response-code(์‘๋‹ต์ฝ”๋“œ)

5. ํ† ํฐ๋ฐœ๊ธ‰

6. Parameter

name(type) description
redirectUri(Stirng) ์ธ๊ฐ€์ฝ”๋“œ๋ฅผ ์ „๋‹ฌ๋ฐ›์„ ์„œ๋น„์Šค ์„œ๋ฒ„์˜ URI
scope(String) ์ถ”๊ฐ€ํ•ญ๋ชฉ ๋™์˜ ๋ฐ›๊ธฐ ์š”์ฒญ ์‹œ ์‚ฌ์šฉ
throughTalk(Boolean) ๊ฐ„ํŽธ๋กœ๊ทธ์ธ ์‚ฌ์šฉ ์—ฌ๋ถ€
prompts(String) ์ž๋™, ๊ธฐ์กด ๋กœ๊ทธ์ธ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋กœ๊ทธ์ธ ์š”์ฒญ ์‹œ ์‚ฌ์šฉ
ServiceTerms(String) ์•ฝ๊ด€ ์„ ํƒํ•ด ๋™์˜๋ฐ›๊ธฐ ์š”์ฒญ์‹œ ์‚ฌ์šฉ
state(String) ๋กœ๊ทธ์ธ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ๊ฐ’
nonce(String) openid๋ฅผ ํ†ตํ•ด idํ† ํฐ์„ ๋ฐœ๊ธ‰ ๋ฐ›์„ ๋•Œ ํ† ํฐ ์žฌ์ƒ ๊ณต๊ฒฉ ๋ฐฉ์ง€

7. 

 

 

๋ฐ˜์‘ํ˜•

'STUDY > ETC' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

TCP/IP ์ •๋ฆฌ  (0) 2024.05.22
์Šฌ๋ž™ ๊ถŒํ•œ ์ •๋ฆฌ  (0) 2023.01.31
๋””์ง€ํ„ธ์›ํŒจ์Šค  (0) 2022.12.30