흑우마스터의 마법의 공간

Graphql을 AWS Lambda에 올렸을때 Authorization을 Bearer로 설정할때 주의해야 될 점 본문

프로그래밍/AWS

Graphql을 AWS Lambda에 올렸을때 Authorization을 Bearer로 설정할때 주의해야 될 점

흑우마스터 2022. 10. 6. 17:59

위에 나온 것처럼 GatewayTimeout을 만날 수 있다.

{"message": "Endpoint request timed out"}

 

Endpoint에 문제가 있는 것처럼 보이지만 로컬에서는 잘 되고 다 되는데 AWS Lambda에 올렸을 때 결정적으로 안된다는 것이다.

 

로컬과 달리 AWS에 올리게 되면 Authorization에 Bearer Token으로 해둔 것 역시 동작하지 않는다.



이때는 Header에다가 넣어야지만 동작하는데 아무래도 이건 API Gateway에 스테이지 쪽 작업을 해줘야 된다. 문제는 매번 이걸 해줄 수 없다는건데...

 

Postman에서는 Header에 직접 삽입하는 식으로 해결한다치고 클라이언트에서 GraphQLHttpClient 를 사용한다면 해당 문제를 간단하게 해결하는 방법이 있다.

 

_client.HttpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}");

_client.HttpClient.DefaultRequestHeaders.Add("Authorization", $"bearer {token}");

 

이렇게 바꾸기만 하면 동작한다.

 

추측 되는건 API Gateway 쪽인거 같지만 뭐 어쩌겠나. 괜히 왜 연결이 안되지 하고 다른거 보느니 스펠링 하나만 소문자로 바꾸면 되는 것을..

'프로그래밍 > AWS' 카테고리의 다른 글

AWS Lambda 생성 시 데이터베이스 접근 오류  (0) 2021.08.25