๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ์ฌ์ฉํ์ฌ ์ฐ๋ํ๋ค.
OAuthํ ํฐ ์ฌ์ฉ
ํฌ์คํธ๋งจ (Postman) ์ฌ์ฉ
๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ
https://console.cloud.google.com/
ํ๋ก์ ํธ ๋ง๋ค๊ธฐ -> ํ๋ก์ ํธ๋ช ์ ์ ํ๊ณ ์์ฑ
OAuth ๋์ ํ๋ฉด ๊ตฌ์ฑํ๊ธฐ
- ์ฌ๊ธฐ์ ๋ฑ๋กํ์ง ์์ผ๋ฉด ์ฌ์ฉ ๋ชปํจ
- ๋ฑ๋กํ์ง ์๊ณ ๋ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ณต์๋ฐฐํฌ๋ฅผ ํด์ผํจ
OAuth ํด๋ผ์ด์ธํธ ID ๋ง๋ค๊ธฐ
๋์ํ๋ฉด์ ๋ค ๊ตฌ์ฑํ์ฌ ์์ฑํ์๋ค๋ฉด
๋งํฌ
https://accounts.google.com/o/oauth2/v2/auth?
scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar&
access_type=offline&
include_granted_scopes=true&
response_type=code&
state=state_parameter_passthrough_value&
redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Ftest&
client_id={ํด๋ผ์ด์ธ์ธํธ ์์ด๋}
- scope : ์ ๊ทผ๋ฒ์ (์๋ ๊ตฌ๊ธ์บ๋ฆฐ๋์ ์์)
- access_type : offline (access token ์๋ก๊ณ ์นจ)
- response_type : ๋ฐํํ ๊ฒ
- redirect_uri : OAuth ํด๋ผ์ด์ธํธ ID๋ฅผ ์์ฑํ ๋ ์ ๋ ฅํ ์น์ธ๋ ๋ฆฌ๋๋ ์ URI๋ฅผ urlencode ํ ๊ฒ
https://meyerweb.com/eric/tools/dencoder/
- client_id : OAuth ํด๋ผ์ด์ธํธ ID๋ฅผ ์์ฑํ๊ณ ๋ฐ๊ธ๋ฐ์ ํด๋ผ์ด์ธํธ ID
์ด๋ ๊ฒ ๊ตฌ์ฑ์ ๊ฐ์ถ url๋ก ์ ์ํ๋ฉด
- ์ฌ๊ธฐ์ OAuth ๋์ํ๋ฉด์ ๊ตฌ์ฑํ ๋ ๋ฑ๋กํ ํ ์คํธ ์ฌ์ฉ์๋ง ๋ก๊ทธ์ธํ์ฌ ์ ๊ทผ๊ฐ๋ฅ
http://localhost:8080/test?state=state_parameter_passthrough_value&
code={์ฝ๋}&
scope=https://www.googleapis.com/auth/calendar
์์ {์ฝ๋}์ ํด๋นํ๋ ๋ถ๋ถ ์ ์ฅ
์์ธ์ค ํ ํฐ ์ป๊ธฐ
access token๊ณผ refresh token์ ๊ธฐ์ตํด๋์
access token์ ์ ํจ๊ธฐ๊ฐ์ 1์๊ฐ์ด๋ค.
*refresh token์ด ์๋ค๋ฉด
๊ธฐ๋ณธ์ ์ผ๋ก refresh token์ access token์ ์ฒ์ ๋ฐ๊ธ๋ฐ์๋๋ง ๋๊ฒจ์ค๋ค.
refresh token์ ๊ณ์ ๋ฐ๊ธ๋ฐ๊ณ ์ถ๋ค๋ฉด ์ด๊ฑธ ์ฌ์ฉํ์
https://accounts.google.com/o/oauth2/auth?
scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcalendar&
access_type=offline&
response_type=code&
state=state_parameter_passthrough_value&
prompt=consent&
redirect_uri=https%3A%2F%2Fsteadhr.com%2Fdashboard%3Fcalendar&
client_id={ํด๋ผ์ด์ธ์ธํธ ์์ด๋}
- prompt : ์ฌ์ฉ์ ๋์ ํ๋ฉด ์ ๊ณต (cosent-> ๋ฉ์์ง ํ์ O)
์ฌ์ฉ์ ๋์ ํ๋ฉด์์ ๋์๋ฅผ ํด์ผ refresh token ์ด ๋ฐ๊ธ๋๋ค.
'๐ETC. > ๐ชข API Connection' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[API] ๊ตฌ๊ธ์บ๋ฆฐ๋API(2) - ์ด๋ฒคํธ ์ถ๊ฐ (ํฌ์คํธ๋งจ ์ฌ์ฉ) (0) | 2022.04.09 |
---|---|
[API] ๊ตฌ๊ธ์บ๋ฆฐ๋ API (1) - ์บ๋ฆฐ๋ list ํธ์ถ (0) | 2022.04.04 |
[API] ๊ตฌ๊ธ ์์ธ์คํ ํฐ(access token) ์ฌ๋ฐ๊ธ ๋ฐ๊ธฐ (1) | 2022.04.02 |
[API] Slack ์ฌ๋ API ์ฐ๋ -OAuth (0) | 2022.03.16 |