flutter web으로 카카오 로그인 기능 구현중입니다.
아래와 같은 상태입니다.
- 개인 서비스의 로그인 페이지에서 카카오 로그인 버튼 클릭
- await kakao.UserApi.instance.loginWithKakaoAccount(); 로 kakao login 시도
- 새탭에 카카오 아이디, 비밀번호 입력창 생성
- 아이디, 비밀번호 입력 후 완료 버튼 클릭
- 탭이 닫히지 않고 개인 서비스의 로그인 페이지로 다시 이동
디버깅 하고있는데 await kakao.UserApi.instance.loginWithKakaoAccount(); 에서 return 이 넘어오질 않네요.
혹시 해야할 셋팅이나, 추가할 코드가 더 있는지 확인 부탁드립니다.
- 개발환경
- web은 localhost에서 실행하여 진행중
- KAKAO ID : 940550
- developer.kakao.com에 카카오로그인- redirectionURL은 http://localhost:60664로 추가함
안녕하세요.
카카오 로그인 구현하신 코드 첨부 부탁드립니다.
안녕하세요
가이드 확인하셔서 sdk 초기화 전에 WidgetsFlutterBinding.ensureInitialized();
가 제대로 선언되어있는지 확인 부탁드립니다
@woody.ho @tony.mb
답변이 늦었습니다.
아래는 카카오 로그인 부분 구현 코드입니다.
추가로 main에서
`WidgetsFlutterBinding.ensureInitialized(); 는 선언 되어 있습니다.
Future loginWithKakaoTalk() async {
if (await kakao.isKakaoTalkInstalled()) {
try {
await kakao.UserApi.instance.loginWithKakaoTalk();
return true;
} catch (error) {
// 사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,
// 의도적인 로그인 취소로 보고 카카오계정으로 로그인 시도 없이 로그인 취소로 처리 (예: 뒤로 가기)
if (error is PlatformException && error.code == 'CANCELED') {
rethrow;
}
// 카카오톡에 연결된 카카오계정이 없는 경우, 카카오계정으로 로그인
try {
await kakao.UserApi.instance.loginWithKakaoAccount();
return true;
} catch (error) {
rethrow;
}
}
} else {
try {
await kakao.UserApi.instance.loginWithKakaoAccount();
return true;
} catch (error) {
rethrow;
}
}
}
보내주신 코드를 봤을 때는 특별히 문제되는 부분이 보이지 않고, 직접 테스트해봤을 때도 재현되지 않아서 원인 파악이 안되고 있는 상황입니다ㅠㅠ
서버 로그를 확인했을 때는 크롬 브라우저에서 확인하고 계신 것으로 보이는데요. 브라우저 캐시 제거 후 또는 시크릿 모드에서 실행했을 때 정상적으로 동작하는지, 그리고 다른 브라우저에서도 정상적으로 동작하는지 확인 부탁드립니다.
캐시 제거 후, 다른 브라우저에서도 정상적으로 동작하지 않는다면 조금 번거로우시더라도 빈 프로젝트에 카카오 로그인을 추가했을 때 정상적으로 동작하는지도 확인 부탁드리겠습니다.