(1) 벨로퍼트
: 로그인 실패시 오류를 띄우는 것
: 로그인 성공시 스토리지와 스토어에 유저정보를 담아주는 것
handleLocalLogin = async () => {
const { form, AuthActions, UserActions, history } = this.props;
const { email, password } = form.toJS();
try {
await AuthActions.localLogin({email, password});
const loggedInfo = this.props.result.toJS();
UserActions.setLoggedInfo(loggedInfo);
history.push('/');
storage.set('loggedInfo', loggedInfo);
} catch (e) {
console.log('a');
this.setError('잘못된 계정정보입니다.');
}
}
(2)[ wordbe.tistory.com] 토큰판단/ 자동로그인/ 자동 로그아웃(https://wordbe.tistory.com/entry/React-Native-Auth-%EC%9E%90%EB%8F%99%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EC%9E%90%EB%8F%99%EB%A1%9C%EA%B7%B8%EC%95%84%EC%9B%83)
모바일 앱은 서버가 각 클라이언트의 인증을 관리하지 않음. 그럼 어떻게? 세션대신 -> 토큰 이용.
모바일 앱이 인증 데이터를 서버에 보낸다 -> 서버는 서버만 아는 private key를 만들어 토큰 형태로 모바일 앱에게 보낸다 -> Redux storage 같은 곳에 이 토큰을 저장한다 -> 앱이 실행되는 동안 메모리에 저장되어 리덕스가 관리한다.
모바일 앱이 서버에서 보호되는 필요한 리소스가 있을 경우, 토큰과 함게 요청을 전달하면 서버가 유효한 토큰인지 판단 후 -> 유효한 토큰이면 알맞은 데이터를 반환한다.
** firebase 서버는 토큰을 자동 생성해주니, 쉽게 학습할 수 있다.