'Coin Site Project'

[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

2024๋…„ 1์›” 23์ผ3min read

๐Ÿ”ฅ AWS Cognito Flow(with. KakaoTalk)

reference: https://haandol.github.io/2021/01/31/cognito-kakao-login.html

### 1. User -> Web Page โœ๏ธ

Sign in via Kakao โ˜๏ธ```

#### โœ… a) ์นด์นด์˜ค ์ธ์ฆ์„ ์›น ํŽ˜์ด์ง€์— ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค.
#### โœ… b) OAuth 2.0 ์ธ์ฆ์„ ํ†ตํ•œ ์นด์นด์˜ค ๋กœ๊ทธ์ธ ํ”Œ๋กœ์šฐ๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

> ### 2. User -> KakaoTalk โœ๏ธ 

#### โœ… a) ์‚ฌ์šฉ์ž๋ฅผ ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค. #### โœ… b) ์ธ์ฆ ์ฝ”๋“œ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

### 3. KakaoTalk -> Web Page โœ๏ธ

Callback with Tokens โ˜๏ธ```

#### โœ… a) ์นด์นด์˜คํ†ก์—์„œ์˜ ์ฝœ๋ฐฑ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ์ตํ˜€์•ผ ํ•œ๋‹ค.
#### โœ… b) ์ฝœ๋ฐฑ์œผ๋กœ๋ถ€ํ„ฐ ํ† ํฐ์„ ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

> ### 4. Web Page -> Amazon API Gateway โœ๏ธ

#### โœ… a) Amazon API Gateway์— ๋Œ€ํ•œ ์ธ์ฆ๋œ ์š”์ฒญ์„ ์–ด๋–ป๊ฒŒ ๋ณด๋‚ผ์ง€ ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค. #### โœ… b) API ์š”์ฒญ์— ํ† ํฐ์„ ํฌํ•จํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

### 5. Amazon API Gateway -> AWS Lambda โœ๏ธ

Invoke with Kakao Token โ˜๏ธ```

#### โœ… 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 โœ๏ธ

Sign in โ˜๏ธ```

#### โœ… 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

REST API

ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ์ด

HTTP ์ƒํƒœ ์ฝ”๋“œ๋Š” ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ๋ฐฑ์—”๋“œ๋กœ ๋ณด๋ƒˆ๋˜ ์š”์ฒญ์˜ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ผ์ข…์˜ ์•ฝ์†์ด๋ฉฐ, API๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ƒํƒœ ์ฝ”๋“œ์™€ ๊ด€๋ จํ•˜์—ฌ, ๋ฐฑ์—”๋“œ๋Š” ์ž˜ ๋ชจ๋ฅด๋Š” ํ”„๋ก ํŠธ์—”๋“œ์˜ ์Šฌํ”ˆ ์‚ฌ์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค.์•„๋ž˜๋Š” ์š”์ฒญ์ด ์‹คํŒจํ–ˆ์Œ์—๋„, ๋ฐฑ์—”๋“œ์—์„œ ์ƒํƒœ ์ฝ”๋“œ

JWT

ํ† ํฐ ๊ด€๋ฆฌ ๋ฐฉ์‹ ํ†บ์•„๋ณด๊ธฐ

0. ๋“ค์–ด๊ฐ€๋ฉฐ ๐ŸŽฏ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ์‚ฌ์šฉ์ž ์ธ์ฆ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฃผ์–ด์ง„ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๋Š” ์ž‘์—…์€ ์ธ๊ฐ€๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ธ๊ฐ€๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธ์ฆ์—๋Š” ๋งŽ์€ ๋ฐฉ์‹์ด ์žˆ์ง€๋งŒ, ์˜ค๋Š˜์€ ์„ธ์…˜ ์ธ์ฆ ๋ฐฉ

A2A

A2A / MCP ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

0. ๋“ค์–ด๊ฐ€๋ฉฐ โœ๏ธ Google for Developers์—, ๋ ˆ์Šคํ† ๋ž‘ ๊ณต๊ธ‰๋ง ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ์—ฎ์€ 6๋Œ€ ํ”„๋กœํ† ์ฝœ(MCP, A2A, UCP, AP2, A2UI, AG-UI)์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ๊ฐ€ ๊ฒŒ์‹œ๋œ ์ดํ›„, MCP์™€ A2A๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•ด ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ