๐ฅํ๋ก์ ํธ๐ฅ
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์ ๋ฐ๋ผ๊ฐ๋ ๊ฒ ๊ฐ๋ค.