현재 친구의 축구 팀을위한 맞춤 CMS를 만들고 있습니다. 백 엔드에Passport 및 JWT를 클라이언트 측에서 권한 부여에 사용하는 방법은 무엇입니까?
나는 데이터베이스 (MongoDB를)와 상호 작용하는 API를했습니다 : 아키텍처는 다음과 같습니다.
프런트 엔드에나는 템플릿 엔진 핸들을 사용하여 페이지를 제공하는 특급 서버를했습니다.
현재 Passport와 JWT를 사용하여 API에 대한 요청을 인증했습니다. 로그인 할 때 JWT를 사용자의 쿠키 저장소에 저장합니다 (정적 페이지 및 SPA가 아니므로 로컬/세션 저장소에 액세스 할 수 없습니다).
내 문제는 내가 관리자 패널에 액세스하기위한 클라이언트 측에서 인증을 구현하는 방법을 고민하고 있다는 점이다. 클라이언트 측에서 JWT를 디코딩하고 사용자 역할을 읽은 다음 사용자가 관리자 인 경우 관리자 페이지가 표시되거나 프런트 엔드의 관리자 섹션에 액세스하라는 모든 요청을 API에 전달해야합니까? 그런 다음 확인 검사가 파일을 제공합니다.
도움을 주시면 감사하겠습니다. 감사합니다.
답장을 보내 주셔서 감사합니다. 인증을 위해 지역 전략을 사용한다면 클라이언트 프런트 엔드에서 쿼리하고 게시 할 수있는 보호 된 API 경로에 적합할까요? – makory
@makory 예 보호 된 경로에 대한 미들웨어를 만들거나 세션의 사용자 개체에 대한 경로 기능 자체를 검사 할 수 있습니다. 사용자가 적절한 역할을하고 적절한 응답을 반환했는지 확인할 수 있습니다. –