• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 react와 node js passport로 마이페이지 연동

react와 node js passport로 마이페이지 연동

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #67900

    강현우
    참가자
    <서버 코드>
    
    app.post('/login',passport.authenticate('local',{
    failureRedirect:'/fail'
     }), function(req,res){
    res.send('로그인성공')
     })
    passport.use(new LocalStrategy({
    usernameField : 'email',
    passwordField : 'pwd',
    session : true,
    passReqToCallback: false,
     }, function(input_id, input_pwd, done){
    console.log(input_pwd)
    db.collection('user_info').findOne({email:input_id}, function(error,result){
    if(error) return done(error)
    if(!result) return done(null, false, {message: '존재하지 않은 아이디입니다'})
    if(input_pwd == result.pwd){
    return done(null,result)
     }else{
    return done(null,false,{message:'틀린 비밀번호입니다'})
     }
     })
     }))
    passport.serializeUser(function(user,done){
    done(null,user.email)
     })
    passport.deserializeUser(function(id,done){
    done(null,{})
     })
    app.get('/mypage', logined, function(req,res){
    console.log(req.user)
    res.send({user:req.user})
     })
    
    <프론트단 코드>
    1. login.js
    <Button variant="outline-success" onClick={()=>{
    axios.post('http://localhost:3000/login',login).then((result)=>{
    if(result=='로그인성공'){
    alert('환영합니다')
    navigate('/')
     }
     })
     }}>로그인</Button>
    
    2. mypage.js
    axios.get('http://localhost:3000/mypage').then((result)=>{
    console.log(result)
     })
    
    mypage는 각 user들이 가진 id가 부착되어 접근하게 하려고 합니다. ex) mypage/0 이면 id가 0번인 유저의 mypage
    세션 생성되는것까진 확인했는데 로그인 성공시 환영합니다 alert도 안되고 페이지 이동도 안하고 mypage의 axios부분은 어떻게 해야될지 감이 오지 않습니다.ㅠㅠ
    
    
    
    #67908

    codingapple
    키 마스터
    그럼 리액트에서 /mypage/:어쩌구 라우트 하나 만들어두고
    거기로 접속하면 서버로 :어쩌구에 맞는 원하는데이터 get요청하게 하거나 그러면 될듯요
    #67918

    강현우
    참가자
    그럼 get요청시 해당 id도 같이 서버로 넘겨 줘야 하나요?
    서버에서 app.get('/mypage/:id', logined, function(req,res){
    로 하면 오류가 날거 같은데
    #67990

    codingapple
    키 마스터
    서버에선 현재유저정보 출력이 가능해서 url parameter같은걸로 굳이 유저정보 전송할 필요는 없을듯요
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠