본문 바로가기

리액트 네이티브

[인스타그램 클론코딩] 앱 로그인 구현 (구글 로그인 포함)

일반적인 로그인

Auth.signIn 메소드를 사용해서 Cognito에 토큰을 요청했을 때 인증코드 인증이 안 된 계정이라서 실패하면, Confirm 스크린으로 이동합니다.

로그인이 완료되면 App 컴포넌트의 Hub 객체가 수신해서 리랜더링을 수행합니다.

참조: [인스타그램 클론코딩] 앱 로그인 구조

구글 로그인

Auth.federatedSignIn 메소드가 실행되면, 외부 브라우저가 실행되면서 구글 계정을 선택하는 인증 페이지로 이동합니다.

계정을 선택하면 인증 페이지에서 앱으로 리디렉션시킵니다. 이것이 가능한 이유는 Cognito 소셜 로그인 추가 (실전) - 구글 포스트 > 4. Cognito 리디렉션 주소 설정에서 엑스포 앱(exp://)으로 리디렉션 주소를 설정했기 때문입니다.

저는 더 이상 구글 로그인과 AWS Cognito를 연결시켜서 사용하지 않습니다.

카카오, 네이버 지원이 안되기 때문에, 어차피 카카오, 네이버 로그인 기능을 서버에 따로 만들어야 합니다.

일관성이 떨어지기 때문에 구글 로그인 기능도 서버에 따로 만들어서 사용합니다.

그리고 페이스북을 통해 AWS Cognito에 연결하면 핸드폰 번호로 로그인할 때 버그가 발생하는거 같습니다.

Login.js