๐Ÿ”ฅํ”„๋กœ์ ํŠธ๐Ÿ”ฅ

Trouble Shooting - ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ, Swagger ๐Ÿ”ซ

jmboy 2024. 8. 5. 15:09

๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ

  • ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ "error_description": "malformed auth code." ๋ผ๋Š” ์—๋Ÿฌ๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ๊ตฌ๊ธ€์˜ ์Šน์ธ์ฝ”๋“œ๋ฅผ ๋ฐ›์•„์™€ ํ•ด๋‹น ์Šน์ธ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด jwt๋ฅผ ๋ฐ›์•„์˜ค๋ ค ํ•˜์˜€์œผ๋‚˜, ์ด ๋ถ€๋ถ„์—์„œ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚ฌ๋˜ ๊ฒƒ์ด๋‹ค.
  • ๋ฌธ์ œ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค!!!!
- ๋ฐœ๊ธ‰๋œ ์ฝ”๋“œ
4%2F0Adeu5BXSr6ULvZ92_2UNEUpsqKplv7lMu66sSLCRZVEfNwN14hbvQtS7uS1cVtyw5fqsGw
  • ๋ฐœ๊ธ‰๋œ ์ฝ”๋“œ์˜ ์•ž๋ถ€๋ถ„์ธ %2F ๋ถ€๋ถ„์ด ์ธ์ฝ”๋”ฉ์ด ์ž˜๋ชป๋˜์–ด ์ž˜๋ชป ์ธ์ฝ”๋”ฉ๋œ ์ธ๊ฐ€์ฝ”๋“œ๋กœ jwt๋ฅผ ๋ฐ›์•„์˜ค๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚ฌ๋‹ค!
private String toRequestAccessToken(String code) {
        // ๋ฐœ๊ธ‰๋ฐ›์€ code -> POST ์š”์ฒญ
        String decode = URLDecoder.decode(code, StandardCharsets.UTF_8);

        ResponseEntity<GoogleTokenResponse> response = restTemplate.postForEntity(
                googleProperties.getRequestTokenUri(),
                googleProperties.getRequestParameter(decode),
                GoogleTokenResponse.class
        );
  • ๋””์ฝ”๋”ฉ ๊ณผ์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ access token์„ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค!

HTTPS ๋ฐฐํฌํ›„ Swagger ๊ฐ€ ์•ˆ๋˜๋Š” ๋ฌธ์ œ

  • ํ…Œ์ŠคํŠธ์šฉ ์„œ๋ฒ„๋ฅผ ์˜ฌ๋ฆฐ๋‹ค๊ณ  https ๊นŒ์ง€ ํ•ด๋ณด์ž๋Š” ๋งˆ์Œ์— ์„œ๋ฒ„๋ฅผ https๋กœ ์˜ฌ๋ ธ๋‹ค.
  • ๊ทธ๋Ÿฐ๋ฐ!!!
CORS

Network Failure

URL scheme must be "http" or "https" for CORS request.
  • ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚ฌ๋‹ค.
  • ํ™•์ธํ•ด๋ณด๋‹ˆ ์š”์ฒญ URL์ด http ๋‹ค. ๋‚ด๊ฐ€ ์‹คํ–‰ํ•œ์„œ๋ฒ„๋Š” https์ธ๋ฐ
  • ์•„๋ž˜๋ฅผ ๋ณด๋ฉด ์„œ๋ฒ„ url๊ณผ swagger ์š”์ฒญ url ์ด ๋‹ค๋ฅธ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค

๊ทธ๋ฆผ์€ ์บก์ณ ๋ชปํ•ด์„œ ํƒ€์ธ์˜ ๊ฒƒ์„ ๊ฐ€์ ธ์˜ด!! ใ… ใ… 



servers url ์„ค์ •์œผ๋กœ "/"๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ํ˜„์žฌ url๋กœ ์š”์ฒญ๋œ๋‹ค. https ๋„ http ๋กœ ๋ฐ”๋€Œ์ง€์•Š๊ณ  ์ž˜ ๋‚˜์˜จ๋‹ค.

open api ์„ค์ • ๋ฉ”์†Œ๋“œ์—์„œ .addServersItem(new Server().url("/")) ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

๋งŒ์•ฝ, url ๋ฉ”์†Œ๋“œ์— full url์„ ์ž…๋ ฅํ•˜๋ฉด swagger ํ™”๋ฉด์— servers๋„ ํ•ด๋‹น url์ด ์ฐํžŒ๋‹ค.

๊ทธ๋Ÿผ api ์š”์ฒญ url๋„ ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜ด.

๋‹ค๋งŒ, "/" ๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ์—๋Š” ์ž๋™์œผ๋กœ ์„œ๋ฒ„ url์„ ๋”ฐ๋ผ๊ฐ€๋Š” ๊ฒƒ ๊ฐ™๋‹ค.