개발 블로깅/오늘의 TIL
-
[2019.06.04] 오늘의 TIL - passport로 Facebook 로그인 시 cors 에러가 나던 문제개발 블로깅/오늘의 TIL 2019. 6. 4. 18:53
passport... 이녀석 정말 한 번 적응하기 너무 어렵다..ㅜㅜ 어제도 이녀석 때문에 밤새 나를 괴롭혀놓고, 오늘도 오전 내내 나를 괴롭힌 또 다른 문제가 하나 있었다.. facebook strategy 방식의 로그인 기능을 구현하려고 passport로 구성시켰다. passport.use( new FacebookStrategy(facebookCredentials, function( req: any, accessToken: any, refreshToken: any, profile: any, done: any ) { console.log(profile); done(null, profile); // profile이 facebook을 통해 계정 정보를 담고있는 변수 }) ); 웹 브라우저 주소창에 해당 라..
-
[2019.06.04] 오늘의 TIL- 암호화 bcrypt.compare가 무조건 false로 나던 문제개발 블로깅/오늘의 TIL 2019. 6. 4. 18:24
회원가입 및 로그인 기능을 작업하던 중.. 회원가입 할 때 입력한 패스워드를 bcrypt 라이브러리를 이용하여 해싱 시키고 데이터베이스에 저장을 하였다. var password = '1q2w3e4r'; var hash_password = await bcrypt.hash(password, 10); // 비동기 함수 그리고 로그인 시, 로그인을 위해 입력한 패스워드랑 DB에 저장되어있던 해싱된 패스워드가 유효한 지 확인하기 위해 bcrypt.compare()함수를 이용하였다. var check = await bcrypt.compare('1q2w3e4r',/* 해쉬된 패스워드*/); 새로 입력한 패스워드 '1q2w3e4r'가 기존에 해싱시킨 패스워드와 같으면 true, 아니면 false를 반환한다. 그런데, ..
-
[2019.06.04] 오늘의 TIL - passport deserializeUser 호출이 안되는 문제(postman은 정상작동하고 브라우저에서는 안되는 문제)개발 블로깅/오늘의 TIL 2019. 6. 4. 09:56
어제 밤새 꽁꽁 싸매던 문제가 하나 있었다. passport.serializeUser(async function(user, done) { done(null, user); }); passport.deserializeUser(function(user, done) { done(null, user); }); passport.use( "local", new LocalStrategy( { usernameField: "Email", passwordField: "password", session: true }, async (username, password, done) => { /* 유효한 계정인지 조회 */ done(null, user); } ) ); passport localstrategy에서 serializeUs..
-
[2019.06.01] 오늘의 TIL - passport 세팅 후 LocalStrategy 호출이 안되는 현상개발 블로깅/오늘의 TIL 2019. 6. 1. 14:14
어제 하루종일 passport를 익히고, 우리 프로젝트에 브랜치를 하나 따서 passport 환경을 세팅 후 postman으로 호출을 해 보았다. 그런데 localStrategy에 놔둔 콘솔로그가 계속 찍히지 않는 것이다... 시간을 많이 뺏길 위기를 느끼고 긴장상태에 들어갔다.. 문제를 해결하기까지 결린 시간은 40분 정도... 해결한 과정은 다음과 같다. 해결 과정 4주 프로젝트 코드의 LocalStrategy에 콘솔로그가 찍히지 않음. 라우터 연결부분이 문제라고 판단. 라우터에 passport 설정 대신, 일반 funciton(req,res) 함수로 콘솔로그 실행. 아주 잘 찍힘. 그러면 미들웨어 실행순서에 문제가 있다고 판단하여, 어제 passport 구현해본거랑 확인해봄. 순서 차이 없음. 남은..
-
[2019.05.30] 오늘의 TIL - gitignore에 추가를 해도 반영이 안되는 이유개발 블로깅/오늘의 TIL 2019. 5. 30. 22:56
2주 프로젝트 때도 그렇고, 이번 4주 프로젝트 진행 중에도, scret키, API키 등의 내용을 github에 올리지 않으려고 gitignore에 추가를 했다. .gitignore node_modules/ package-lock.json secret/ ormconfig.json secret/ 디렉토리에 github에 올리지 않으려고 추가를 했으나, 'git status'로 확인하면 계속 수정 내역으로 나오는 것이다. 철자 하나 틀리지 않았다. 그런데 왜 .gitignore 반영이 되지 않는 것일까.. 무시하려는 파일이 이미 github repository에 올라가 있으면, 이후에 gitignore에 추가해도 반영이 되지 않는다. gitignore에 추가를 하기 전에, 이미 한번 이상 github에 올린..
-
[2019.05.26] 오늘의 TIL - react key개발 블로깅/오늘의 TIL 2019. 5. 26. 17:43
배열만큼 동적으로 생성하여 만든 컴포넌트가 있다. 각 컴포넌트마다 state값을 가지고 있다. 배열 값 하나가 사라지는 작업으로 인해, 동적 컴포넌트 개수도 따라 하나가 사라지는데, 이 때 각 컴포넌트의 고유의 key 값이 없으면, 각 컴포넌트의 state는 자기위치 그대로 있고, 마지막 컴포넌트 하나만 사라진다. key값으로 인해 각 고유의 state값을 유지해 주어야한다. 그래야 중간에 값이 사라져도 virtual DOM으로 인해 컴포넌트 내 state가 유지되는 것을 막을 수가 있다.
-
[2019.05.19] 오늘의 TIL개발 블로깅/오늘의 TIL 2019. 5. 19. 18:34
오늘 리액트 2주 프로젝트 작업을 하다가 정말 알 수 없는 문제로 1시간을 아깝게 버린 일이 있었다.. 해당 문제는 아래의 예시와 같다.. var names = ['inyong','jack','carry','luck']; return ( {names.map((data,index)=>{ })} ) 위와 같이 name,key를 props로 던져준다. key는 동적으로 생성하여 사용시, 각 컴포너트 마다의 고유의 key값을 가지게 하는 것을 권장한다. 그래서 저렇게 key = {index}로 넣어서 각 고유의 키 값을 전달해주지만, MyComponent 태그 안에서는 key 값을 찾으면 계속 undefined로 나온다. class MyComponent extends Component { render(){ co..