[OAuth] ๊ตฌ๊ธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ1 ( ํ ํฐ ๋ฐ๊ธ๋ฐ๊ธฐ)
๊ตฌ๊ธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ํ๋ ค๋ฉด, ์ธ์ฆ์๋ฒ์๊ฒ ํ ํฐ ์ ๊ณต ๋ฐ์์ผ๋จ.
1. ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ์ฝ์ ๋ค์ด๊ฐ์
https://cloud.google.com/cloud-console
https://cloud.google.com/cloud-console
cloud.google.com

[์ฝ์] ๋ฒํผ ํด๋ฆญ.
(์ต์ด๋ฉด ์ฌ์ฉ ๋์ ํ๋ฉด ๋ฐ๊ฑฐ์. ๋์ํ๊ณ ์ ์ฐจ ๋ง์น๋ฉด ๋จ)
2. ์ผ์ชฝ ์์ [ํ๋ก์ ํธ ์ ํ] ํด๋ฆญ,

2-1. [์ ํ๋ก์ ํธ] ๋ฒํผ ํด๋ฆญ

3. ํ๋ก์ ํธ ์ด๋ฆ, ์กฐ์ง ์์์ ์ ์ค์ ํ๊ณ
[๋ง๋ค๊ธฐ] ๋ฒํผ ํด๋ฆญ

4. ์ค๋ฅธ์ชฝ ์ ์๋ฆผ(์ข ๋ชจ์)์ ๋ณด๋ฉด ํ๋ก์ ํธ๊ฐ ๋ณด์
๊ทธ๊ฑฐ ํด๋ฆญ

5. [API ๋ฐ ์๋น์ค] - [์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด] ํด๋ฆญ

6. ์ค๋ฅธ์ชฝ ์๋จ์ [๋์ ํ๋ฉด ๊ตฌ์ฑ] ํด๋ฆญ

7. ์ฑ ์์๋ User Type์ ์ธ๋ถ์ฉ์ผ๋ก ์ ํํ๊ณ [๋ง๋ค๊ธฐ] ๋ฒํผ ๋๋ฅด๋ผ๋๋ฐ,
๋ ๊ทธ๋ฐ๊ฑฐ ์๋ ์ ๊ฑ [์์ํ๊ธฐ] ๋๋ฌ๋ด

์ฑ ์ด๋ฆ, ์ด๋ฉ์ผ ์ฐ๊ณ [๋ค์] ํด๋ฆญํ๋๊น
์ด์ User Type ํ๋ฉด ๋์ด ใ ใ ใ ใ
์ธ๋ถ๋ก ์ ๋์ด์์ผ๋ฉด [๋ค์] ๊ณ์ ๋๋ฅด๋ฉด์ ๋์ด๊ฐ์


[๋ง๋ค๊ธฐ] ํด๋ฆญ
8. ์ผ์ชฝ ํญ์ ๋ฐ์ดํฐ ์์ธ์ค ํด๋ฆญ , [๋ฒ์ ์ถ๊ฐ ๋๋ ์ญ์ ] ํด๋ฆญ

9. email์ด๋ openid ์ฒดํฌํด์ฃผ๊ณ , ์๋์ [์ ๋ฐ์ดํธ] ํด๋ฆญ

10. ์์ชฝ ์ค๊ฐ์ [์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ] - [OAuth ํด๋ผ์ด์ธํธ ID] ํด๋ฆญ


11. ์ ํ๋ฆฌ์ผ์ด์ ์ ํ, ์ด๋ฆ, ์น์ธ๋ ๋ฆฌ๋๋ ์ URI ์ธ๊ฐ ์ ๋ ฅ

12. ๋ง๋ค๊ณ ๋๋ฉด ๋์ค๋ ํด๋ผ์ด์ธํธID๋ ๋ณด์ ๋น๋ฒ์ ๋ฐ๋ก ๋ฉ๋ชจํ์

13. applicaion.properties์ ์ธ๊ฐ์ง ๊ฐ ์ถ๊ฐ
spring.security.oauth2.client.registration.google.client-id=ํด๋ผ์ด์ธํธID
spring.security.oauth2.client.registration.google.client-secret=๋น๋ฒ
spring.security.oauth2.client.registration.google.scope=profile,email