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