-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
apiLimiter미들웨어가 작동을 안합니다.
22.05.30 03:27 작성 조회수 104
0
보시면 비밀키는 제대로 받고 있습니다. type도 프리미엄인걸 확인할 수 있습니다.
미들웨어에 free와 premium 미들웨어를 추가합니다.
도메인 타입에 따라서 해당 미들웨어를 호출합니다
그러나 type이 premium든 free든 항상 free미들웨어가 호출됩니다
답변을 작성해보세요.
0
wdhgood123
질문자2022.05.30
free타입이 찍힙니다.
MySQL 테이블을 확인해봐도 여전히 type은 premium이 들어가 있는데 왜 free타입이 찍히나요?
참고로 if문 오타는 제대로 고쳤습니다
코드에 domain.type을 넣어서 나온 결과도 premium이 뜹니다. 그러나
콘솔 결과는 free가 뜹니다
아래는 코드입니다
wdhgood123
질문자2022.05.31
host는 항상 http://localhost:4000아닌가요?
이부분은 교재에 있는 코드지만 왜 쓰였는지 잘 모르겠습니다. 사실 저 코드를 쓰면 가장 첫번째 domain모델이 나오며 그 모델은 type이 free입니다.
클라이언트 비밀키를 콘솔로 찍어보니 첫번째 비밀키가 나옵니다
host는 항상 http://localhost:4000이었습니다
wdhgood123
질문자2022.05.31
이렇게 바꿔서 해결하였습니다
조현영
지식공유자2022.06.01
clientSecret만으로 찾으면 안 되는게 시크릿이 노출될 경우 인증이되어버리기 때문입니다. 호스트로 찾을 때 왜 첫번째 등록한 도메인이 나오는지를 찾으셔야 합니다.
wdhgood123
질문자2022.06.01
첫번째로 등록한 도메인이 나오는 이유는 알고 있습니다.
보시다시피 domain모델에 host가 모두 localhost:4000이기 때문입니다.
그렇기에 찾을 때 항상 첫번째 도메인이 나오는 것입니다.
문제 오류는 해결했습니다.
아마 등록할 때 host가 같은경우 이전에 등록된 호스트를 지우면 깔끔한 코드가 나올것 같습니다.
wdhgood123
질문자2022.06.01
도메인 등록하기 전에 이 코드를 넣으니 해결 되었습니다.
답변 1