Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

인가 에러 #110

Closed
chahtk opened this issue Jan 22, 2022 · 10 comments
Closed

인가 에러 #110

chahtk opened this issue Jan 22, 2022 · 10 comments
Assignees
Labels
BE bug help Extra attention is needed WEB
Projects

Comments

@chahtk
Copy link
Collaborator

chahtk commented Jan 22, 2022

발생 상황

  • 최신 docker를 받아 실행
  • 로그인 성공해서 access, refresh token 받음
  • 이를 헤더에 넣어 요청을 보냄

요청 형태

endpoint = /workspace/page=0&size=5

image

에러 메시지

image

일정시간이 지나 토큰이 만료되면 에러 형태도 바뀜
image

시도해본 것들

  • header에 Content-Type 추가 (json, text 각각 해봄)
  • header에 Access-Control-Allow-Headers: 'X-AUTH-TOKEN' 넣어봄 -> 클라이언트가 이걸 보내면 안될것같긴함 (기존 에러에서 cors error로 바뀜)

refactor/fe 브랜치에 올려뒀습니다,,,

@chahtk chahtk added help Extra attention is needed BE WEB bug labels Jan 22, 2022
@chahtk chahtk added this to To do in LastPunch via automation Jan 22, 2022
@SooKim1110
Copy link
Collaborator

효준님! 먼저 workspace API 페이징 요청하실 때
/workspace/page=0&size=5 -> workspace?page=0&size=3
workspace 랑 page 사이 ? 여야하는데 /로 오타난 것 같습니다! 일단 포스트맨에서는 잘 작동되는 것 확인했습니다.

http 상태코드가
503이 온다면 (제가 모르는 다른 문제일수도 있지만) 아마 workspace 도커 컨테이너가 아직 제대로 올라가지 않은 경우 같습니다. 게이트웨이 서버나 워크스페이스 서버 자체에 문제가 있어서 에러가 있으면 500으로 response되고 있습니다. localhost:8761에서 gateway, auth-server, workspace-server가 모두 올라왔는지 확인해주세요.

access 토큰 시간이 현재 10분으로 설정되어 있어서 10분이 지난 access token을 쓰면 무조건 게이트웨이에서 401 을 response 합니다. 이런 경우 refresh token으로 /auth/reissue에서 access token을 재발급받아 그 토큰을 사용해야합니다. 그런데 테스트할 때 10분이 너무 짧다고 느껴지시면 access token 유효기간을 늘리겠습니다! 이 부분은 편하신 기간 알려주세요.

혹시나 ? 로 uri 고치셨는데 CORS 에러가 뜨면 말씀해주세요! 깃에 푸시하시고 저도 cors 에러 볼 수 있게 해주시면 그 부분은 수정해보겠습니다.

@chahtk
Copy link
Collaborator Author

chahtk commented Jan 23, 2022

쿼리 부분 지우기도 하면서 테스트하다가 오타를 냈네요..!! 그런데 저 부분이 ?여도 문제가 발생합니다. (도커는 정상 동작합니다)
image

포스트맨의 경우 저도 확인을 못해서 /auth/verify를 방금 해봤는데, 잘 동작합니다. 그러나 크롬에서 api(/workspace)를 쐈을 때는 마찬가지로 503에러가 나타납니다. 혹시나해서 클라이언트의 api 엔드포인트를 /auth/verify 로 바꾸니 503 error 가 사라졌습니다...!
image

  • 현재 저는 /auth/verify는 클라이언트 쪽에서 사용하는 api가 아니라고 인지하고 있는데, 맞는지 확인 받고 싶습니다 😅
  • 제가 인지하고 있는 흐름은, 클라이언트가 어떤 api를 보내면 게이트웨이가 디코드 후, 인가가 성공적이라면 요청을 진행하는 식입니다.

@chahtk
Copy link
Collaborator Author

chahtk commented Jan 23, 2022

응답코드가 서버 별로 common/exception에 있는건 확인했는데 혹시 전체 정리된 문서가 있나요? 저번에 지효님하고 얘기하면서 뭔가 작성하신 것 같아서요 ㅎㅎ

@SooKim1110
Copy link
Collaborator

SooKim1110 commented Jan 23, 2022

일단 /auth/verify 는 클라이언트에서 쓰는 API가 아닌 것 맞습니다.
다른 서버로 API 요청을 했을때(예를 들어 GET /workspace) 401로 access token이 유효하지 않다는 응답이 오면
-> /auth/reissue로 access token을 재발급 받고
-> 다시 원래 요청하려고 했던 API로 새 access token을 가지고 요청하면 됩니다.

/auth/verify로 바꾸면 503에러가 사라지는 것은 지금 auth-server는 잘 작동 되는데 workspace-server가 잘 실행이 안되고 있는 것 같은데 혹시 지금 포스트맨으로 get /workspace 요청 보내보시면 어떻게 뜨는지 알려주실 수 있나요? 혹시 도커 로그 중 gateway나 workspace에 대해 에러가 찍히는 것이 있다면 그것도 알려주세요! (아니면 uri를 그냥 localhost:8082 바꿔보시고 잘 되는지 알려주세요)

(응답코드 정리 문서는 현재 없습니다. 다음주에 지효님이랑 정리해서 만들어놓겠습니다!)

@chahtk
Copy link
Collaborator Author

chahtk commented Jan 23, 2022

postman로 말씀하신 요청을 헤더에 X-AUTH-TOKEN에 값을 넣어 보냈습니다 (userId는 빼기도하고 넣기도 해봤습니다)
역시 503에러가 발생하고 있는데, 8082 포트의 경우에는 아예 되지 않습니다 (Error: connect ECONNREFUSED 127.0.0.1:8082)

다음은 도커에 찍히는 에러입니다
image

@chahtk
Copy link
Collaborator Author

chahtk commented Jan 23, 2022

어... 지금 도커 컨테이너를 다시 살펴봤는데요
image
workspace가 없네요...? compose.yml 파일도 보니까 workspace가 없군요
저는 workspace도 같이 실행되는줄 알고 있었는데 따로 실행해야하나요?

@SooKim1110
Copy link
Collaborator

엇....! 지금 dev 브랜치에 docker-compose 파일에 workspace-server 내용이 올라와있을텐데 혹시 없으신가요?

@chahtk
Copy link
Collaborator Author

chahtk commented Jan 23, 2022

잠시만요 pull을 떙겼었는데 뭐가 잘못됐는지 없는 것 같네요 ㅠㅠㅠ 일단 다시 시도해보겠습니다

@chahtk
Copy link
Collaborator Author

chahtk commented Jan 23, 2022

맙소사... 성공했습니다... frontend 디렉토리 쪽에서 git pull을 땡기면 안되는건지... 왜 안됐었지... 😭
아침부터 감사합니다 지수님!!

@SooKim1110
Copy link
Collaborator

다행이네요! 또 문제 생기시면(cors라던가...) 말씀해주세요!

@chahtk chahtk closed this as completed Jan 23, 2022
LastPunch automation moved this from To do to Done Jan 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE bug help Extra attention is needed WEB
Projects
Development

No branches or pull requests

2 participants