일 년 전 · 손우진 님의 새로운 답변
nextauth 를 이용해 springboot 의 jwt를 받아와서 로그인을 구현중입니다.
안녕하세요. nextauth 를 이용해 로그인 구현중입니다. 흔히 생각하는 소셜 로그인이 아닌 username 과 password를 통해 springboot security 에서 jwt를 반환 받아오려고 합니다. // app/api/auth/[...nextauth]/route.ts CredentialsProvider({ name: 'Credentials', credentials: { username: { label: 'Username', type: 'text', placeholder: '아이디' }, password: { label: 'Password', type: 'password' }, }, async authorize(credentials, req) { const res = await fetch(`${process.env.NEXTAUTH_URL}/auth/login`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ username: credentials?.username, password: credentials?.password, }), }); const user = await res.json(); console.log(user); if (user) { return user; } else { return null; } }, }), 그런데 위의 코드처럼 코드를 구성했을때 .env.local 파일의 NEXTAUTH_URL 이 등록이 되면 authorize 가 작동하지 않습니다 . 에러 log라도 있으면 어떻게라도 해보겠는데.. 그것도 없습니다. 그래서 NEXTAUTH_URL 를 등록하지 않고 const res = await fetch(`http://localhost:8080/auth`, 바꾸면 이것역시 에러 log 없이 브라우저상에서 Error 라는 문구만 보여줍니다. 이렇게 생각했을때 authorize는 값을 내부에서만 가져올수 있는거 같은데요. 실제로 가상의 const user = {....} 를 만들어서 반환하면 로그인이 아주 잘 됩니다. 하지만 제가 원하는 방법은 아니죠..ㅍ 검색해보면 prisma 가 많이 나오는데.. 그것 또한 시스템상 제가 원하는 방식이 아닙니다. springboot security 에서 jwt를 받아와서 nextauth에 로그인을 할수 있는 방법은 없을까요? custom login 페이지를 만들어서 해야 할거 같은데 방법을 잘 모르겠습니다. 현재 springboot 서버에 cors 설정이 정상적으로 허용된 상태입니다.
개발자
#nextauth
#springboot
#jwt
#nextjs
#typescript
답변 1
댓글 0
조회 1,180
2년 전 · 유택범 님의 새로운 댓글
영화 예매 프로젝트의 예매 기능과 관련하여
안녕하세요. 토이 프로젝트로 영화 예매 서비스를 만들어보고 있습니다. 어느 정도 기능 구현이 완료되었다고 생각했었는데, 오늘 생각지도 못한 고려 사항을 발견해버렸네요 ㅠㅠ.. 좌석 모델과 예매 모델 사이의 관계의 모호함이 있었습니다.. 저는 MovieSchedule 모델을 두어 참조하는 영화의 id, 상영 시작 시간, 상영 종료 시간, 참조하는 screen(상영관)의 id를 column으로 두었습니다. 그리고 Reservation 모델이 이 MovieSchedule 모델을 참조하도록 하고, 예매 인원, 예매하는 유저의 아이디 등의 column을 갖도록 하였습니다. 아래 코드를 참조부탁드립니다(Prisma ORM을 사용하였습니다). 하지만 이렇게 구성을 하다보니, 같은 영화, 같은 상영관이지만 시간대만 다른 좌석(같은 screen, 다른 MovieSchedule을 참조)의 경우에, seat와 reservation이 one-to-many로 설정되어 있기 때문에 이미 다른 시간대(다른 MovieSchedule)에서 해당 좌석을 예매 해두었다면, 좌석은 더 이상 예매를 할 수 없는 상태가 되더군요.. schema를 변경할 필요가 있을 것 같은데 ERD를 설계해본 경험이 별로 없다보니 어떤식으로 변경해야 할지 감이 잘 안 잡힙니다.. 제가 생각해본 대안들은 다음과 같습니다. 1. movieSchedule에 대응하는 screen과 seat를 생성하고, 상영 후 해당 screen 및 seat를 모두 삭제. 이러면 여러 시간대에 같은 screenNum이 여러개 생길 수 있으니 screenNum의 unique 조건을 삭제해야할듯. 2. seat와 reservation의 관계를 many to many로 변경하고 reservation-seat과 같은 table을 하나 더 생성. 해당 테이블은 seatId와 reservationId를 갖고 있을 것이므로, 좌석 조회 시 reservation의 movieSchedule과 조회하는 movieSchedule이 일치하면 예약되었음을 확인할 수 있음. 위 대안들이 적절한지, 그렇지 않다면 어떤 대안이 있을지 조언 부탁드립니다 ㅠㅠ
개발자
#erd
#sql
#javascript
#prisma
답변 2
댓글 4
조회 380
일 년 전 · 백승훈 님의 새로운 답변
Docker compose 컨테이너 구성을 어떻게 될까요?
저는 prisma nextjs postgresql을 사용하고 있습니다 Docker compose에서 컨테이너를 local용postgresql, deploy용postgresql, nextapp 이렇게 3개로 구성하려고 합니다 이렇게 해서 npm run dev로 app을 local로 실행한다고 하면 local용 postgresql과 연결되게 하고 Build를 하고 deploy된것은 deploy용postgresql과 연결되게 하려고합니다 해당 프로젝트가 포폴용이라 상관은 없지만, 정말 서비스를 진행하려고하면 서버를 늘리는 일이 일어날텐데 이런경우 위에서 생성했던 docker이미지를 이용해서 docker compose up을 할텐데요 그러면 새로운 서버가 생길때마다 local용 db를 생성할 수 밖에 없을 것 같은데 제가 아직 배포도 안해보고 프론트라서 제가 지금 생각하는 방식이 맞는지 잘 모르겠습니다 혹시 제가 말한게 맞나요?
개발자
#front
#deploy
#docker
#배포
답변 1
댓글 0
조회 70
6달 전 · aigoia 님의 답변 업데이트
프론트엔드분들은 개인 프로젝트할 때 백엔드를 어떻게 하시나요?
프론트엔드 분들은 취업이나 이직, 사이드프로젝트 등 개인 프로젝트를 진행할 때 백엔드는 어떻게 하시나요? 예시는 react 진영 기준으로 하였습니다 다른 선호하는 방식이 있다면 댓글로 알려주세요! 1. 클라이언트, 서버 각각 전부 개발 ex. reactjs(nextjs) + nestjs 2. 백엔드 서비스를 활용하여 개발 ex. nextjs + firebase, supbase 3. 풀스택 프레임워크 사용해 한 번에 개발 ex. nextjs + prisma(orm) + s3(storage)
개발자
#react
#next
#프론트엔드
답변 6
댓글 0
조회 1,115
일 년 전 · 부추캠프 님의 답변 업데이트
프론트엔드 공부 7개월 차, 방향성을 잘 못 잡겠습니다. 조언 부탁드립니다.
안녕하세요 저는 취직을 목표로 공부를 하고 있는 비전공자 입니다. 현재 7개월 간 공부하면서 많이 성장했다고 생각하는데요. 요즘 들어 방향성이 흔들리는 것 같습니다. Typescript, React, nextjs 그리고 알고리즘도 꾸준히 공부하고 있습니다. 나름 빠르게 성장 중이라 생각되었는데 요즘 들어 정체가 되는 듯 합니다. 처음 Nextjs를 공부하면서 인강으로 pscale + prisma 조합으로 백엔드 연습했었고, 요즘 새로운 시도를 해보고자 supabase를 시도해 보고 있는데, 문득 프론트 엔드로 취직이라는 목표를 가지고 쓸데없는 공부를 하는게 아닌가 라는 생각도 들고, 끝도 없으니 너무 얕게 공부하게 되는 것 같아서 이건 아니다 라는 생각도 들구요. 팀 프로젝트 경험을 쌓아 보고 싶어서 다양한 부트캠프 (네부캠, 우테코, 크래프톤 정글 등) 지원해보려고 하는데 그 이전 스스로 무엇을 공부해야 하는지 고민입니다. 현재는 이런 공부를 하고 있어요 1. 모딥다 정독 2. 백준 알고리즘 3. 클론 코딩 및 개인 프로젝트 이런 것들이 궁금합니다 1. 다양한 serverless db를 다루어 보는 것이 프론트 취직이라는 목표에 부합하는지. 2. 현재 중요한 무언가를 놓치고 있는 것이 아닌지. 3. 부트캠프를 지원하기 이전 팀 프로젝트에 도움이 되고, 스스로 성장시킬 수 있는 기술적 역량이 있는지. 조금 심도 깊은 공부를 하고 싶은데, 프론트엔드를 공부하는 취준생에게 ”나였으면 이런걸 공부했을 것 같다“ 같은 조언 한마디 부탁드립니다!
개발자
#next.js
#프론트엔드-취준
#부트캠프
답변 1
댓글 1
추천해요 1
조회 509
일 년 전 · 정기윤 님의 새로운 댓글
Next.js 13 Vercel로 배포 질문
안녕하세요 이전에 사용한적 없던 Next.js를 이참에 13 버전이 나온 김에 공부를 하고 있습니다 DB의 경우 PlanetScale와 Prisma를 사용하여 같이 사용하고 있습니다 Vercel을 통해 Next.js를 배포한 상태이구요. 혼자 개발 공부용으로 하고있다보니 일단 배포DB와 개발 DB는 동일한걸 사용중입니다 npm run dev로 localhost를 접속하면 DB에 수정된 사항이 새로고침하면 바로 반영이 됩니다 (예시 : DB에 데이터가 4개가 있다가 > 6개로 변경) 하면 바로 반영이 됩니다 그러나 Vercel를 통해 배포한 페이지의 경우 동일한 DB를 사용하고 있으나 변경사항이 즉각 반영이 되지 않습니다, 항상 재 배포를 해야 그때 기준 최신화된 데이터를 가져옵니다 (예시 : DB에 배포 직전까지 데이터가 6개가 있다가 > 배포 후 4개로 변경 > 동일 DB 사용하니 당연히 이거도 반영이 되겠지? > 예상과 달리 데이터가 6개 그대로인 상황이 발생) 배포 버전에서도 DB 최신화된 사항을 그대로 반영시킬려면 어떻게 해야할까요??..
개발자
#next.js
답변 3
댓글 1
조회 787
일 년 전 · 황대연 님의 새로운 답변
개발용 DB와 운영용 DB를 나누는 방법이 궁금해요
안녕하세요! 지금 장소추천 서비스를 만들고 있어요. planetScale과 prisma를 이용하고 있어요. 새로 업데이트를 해서 data schema가 변경될 것 같아요. 근데 운영 서버와 개발 서버 모두 하나의 DB에 연결되어 있어서, 개발 시 서비스 운영에 영향을 끼칠거 같은데 어떻게 해결하면 좋을까요? 대학생이고, 처음 만들다보니까 어려움이 많습니다. 많은 도움 부탁드립니다
개발자
#db
#planetscale
답변 4
댓글 2
조회 993
웹 데브에서 어떤 테크스택을 사용하시나요?
하나의 웹앱을 만들 때에도 다양한 테크스택을 사용할 수 있고 어떤 테크스택을 사용하느냐는 개발 트랜드에 따라서 조금씩 바뀌는 것 같아요. 그래서 요즘 개발자 분들은 어떤 테크스택을 사용하는지 궁금해서 질문 올립니다. 프레임워크, DB, ORM, CSS 등 말그대로 개발에서 사용하는 툴들을 알려주세요 ㅎㅎ 제가 사용하는 테크스택은 (프론트에 치중되어 있습니다) 이렇습니다! - NextJS - Prisma - Tailwind - Supabase
개발자
답변 1
댓글 1
추천해요 3
조회 139