* 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 |