[TIL/Coin Site Project] 2024/01/23
๐ฅ AWS Cognito Flow(with. KakaoTalk)reference: https://haandol.github.io/2021/01/31/cognito-kakao-login.htmlSign in via Kakao โ๏ธRedirect with Aut
๐ฅ AWS Cognito Flow(with. KakaoTalk)
reference: https://haandol.github.io/2021/01/31/cognito-kakao-login.html

### 1. User -> Web Page โ๏ธ
#### โ
a) ์นด์นด์ค ์ธ์ฆ์ ์น ํ์ด์ง์ ํตํฉํ๋ ๋ฐฉ๋ฒ์ ํ์ตํด์ผ ํ๋ค.
#### โ
b) OAuth 2.0 ์ธ์ฆ์ ํตํ ์นด์นด์ค ๋ก๊ทธ์ธ ํ๋ก์ฐ๋ฅผ ์ดํดํด์ผ ํ๋ค.
> ### 2. User -> KakaoTalk โ๏ธ
#### โ a) ์ฌ์ฉ์๋ฅผ ์นด์นด์คํก์ผ๋ก ๋ฆฌ๋๋ ์ ํ๋ ๋ฐฉ๋ฒ์ ํ์ตํด์ผ ํ๋ค. #### โ b) ์ธ์ฆ ์ฝ๋๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ ์ดํดํด์ผ ํ๋ค.
### 3. KakaoTalk -> Web Page โ๏ธ
#### โ
a) ์นด์นด์คํก์์์ ์ฝ๋ฐฑ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ตํ์ผ ํ๋ค.
#### โ
b) ์ฝ๋ฐฑ์ผ๋ก๋ถํฐ ํ ํฐ์ ์ถ์ถํ๋ ๋ฐฉ๋ฒ์ ์ดํดํด์ผ ํ๋ค.
> ### 4. Web Page -> Amazon API Gateway โ๏ธ
#### โ a) Amazon API Gateway์ ๋ํ ์ธ์ฆ๋ ์์ฒญ์ ์ด๋ป๊ฒ ๋ณด๋ผ์ง ํ์ตํด์ผ ํ๋ค. #### โ b) API ์์ฒญ์ ํ ํฐ์ ํฌํจํ๋ ๋ฐฉ๋ฒ์ ์ดํดํด์ผ ํ๋ค.
### 5. Amazon API Gateway -> AWS Lambda โ๏ธ
#### โ
a) API Gateway๋ฅผ ์์ ํ๊ฒ ์ค์ ํ๊ณ ์นด์นด์ค ํ ํฐ์ AWS Lambda์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ํ์ตํด์ผ ํ๋ค.
#### โ
b) API Gateway์์์ ์ธ์ฆ์ ์ํ ์ค์ ์ ์ดํดํด์ผ ํ๋ค.
> ### 6. AWS Lambda -> KakaoTalk API โ๏ธ
#### โ a) AWS Lambda์์ KakaoTalk API๋ก HTTP ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํ๋ค. #### โ b) ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํ ์นด์นด์คํก API๋ฅผ ์ดํดํด์ผ ํ๋ค.
### 7. AWS Lambda -> AWS Cognito UserPool โ๏ธ
#### โ
a) AWS SDK ๋๋ API Gateway๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ฅผ Cognito UserPool์ ๋ก๊ทธ์ธํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์์ผ ํ๋ค.
#### โ
b) Cognito UserPool๊ณผ์ ์ธ์ฆ ํ๋ก์ธ์ค๋ฅผ ์ดํดํด์ผ ํ๋ค.
> ### 8. AWS Cognito UserPool -> AWS Lambda โ๏ธ
#### โ a) Cognito UserPool ํธ๋ฆฌ๊ฑฐ/ํ ์ ๋ํ ํ์ต์ ์งํํด์ผ ํ๋ค. #### โ b) ํน์ Cognito ์ด๋ฒคํธ์์ Lambda ํจ์๋ฅผ ๊ตฌ์ฑํ๊ณ ํธ์ถํ๋ ๋ฐฉ๋ฒ์ ์ดํดํด์ผ ํ๋ค.
### 9. AWS Cognito UserPool -> Google โ๏ธ
More to read
Amazon VPC Architecture ์ดํดํ๊ธฐ
์๋ก์ด ํ๋ก์ ํธ๋ฅผ ๊ธฐํํ๋ฉฐ, ๊ฐ๋ฐ์์ ๋ฌด์์ ๊ฐ์ฅ ๋จผ์ ๊ณ ๋ฏผํด์ผ ํ๋์ง ๋ค์ ๋์๋ณด๊ฒ ๋์์ต๋๋ค.ํ๋๋ ํ๋ก ํธ์๋๊ฐ ๋ชจ๋ ์ค๊ณ์ ์ถ๋ฐ์ ์ด๋ผ๊ณ ๋ฏฟ์์ต๋๋ค. ์ ์ ๊ฐ ๋ฌด์์ ๋ณด๊ณ , ์ด๋ค ํ๋ฆ์์ ๋จธ๋ฌด๋ฅด๊ณ ์ดํํ๋์ง์ ๋ํ ์ดํด ์์ด ์๋น์ค๋ฅผ ๋ง๋ ๋ค๋ ๊ฑด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํ๊ธฐ
'์์ฌ์ดํธ'ํ๋ก ํธ์๋ ๊ด์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ์ดํดํ๊ธฐ
์ค๋๋ง์ ๋ฐฉ๋ฒ๋ก ์ ๊ดํ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค. ์ต๊ทผ ์ํฉ์ ์ด๋ ์ต๋๋ค. SSAFY์์๋ ํ๋ฃจ์ ์์ฒญ๋ ์์ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ค์ ๊ณผ์ ๋ก ์ํํ๊ฒ ๋ฉ๋๋ค. ๊ทธ ๊ณผ์ ์์, '๊ตฌํ๋ ฅ'์ด ๋งค์ฐ ๋จ์ด์ง๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ์์ ํ ์ด๋ ค์ด ๋ฌธ์ ๋ผ๋ฉด '์์ฌ์'์ด๋ผ๋ ๊ฐ์ ์กฐ์ฐจ ๋๋ผ์ง
SubnetVPC ์ค๊ณ์ ์์: IP์ Subnet
๋ฐ๋ณต๋๋ ๋ฃจํด ์์์ ์ป์ ์์ ๊ฐ์ ๋ฐํ ์ผ์, ์ด์ ๋ ๊ธฐ์ ์ ์คํํธ๋ผ์ ๋ํ๊ธฐ ์ํ ๊ฐ์ธ ํ๋ก์ ํธ์ ์ฐฉ์ํ๊ณ ์ ํฉ๋๋ค.์ด๋ฒ ํ๋ก์ ํธ์ ๋ชฉํ๋ ๋จ์ํ ํฌํธํด๋ฆฌ์ค ๊ตฌ์ถ์ ๋์ด, ์ค์ ์๋น์ค ์์ค์ ๋ธ๋ก๊ทธ ์์คํ ๊ตฌํ๊ณผ ๋ค๊ตญ์ด ์ฒ๋ฆฌ ์ ์ฉ ๋ฑ ์ค๋ฌด์ ๊ฐ๊น์ด ์ญ๋์ ํ ๋จ๊ณ