어플리케이션 ID 1050747
개발 환경: flutter 3.19.3
flutter에서 카카오 로그인 진행하고 인증을 하면
인가 코드를 spring boot 서버로 리다이렉션 시켜서
서버에서 access token을 받고 회원가입을 구현하려고 하는 중입니다.
그래서 일단 웹에서 계정인증으로 테스트 해보려고 developers 문서 참고해
kakao flutter sdk javascript key로 초기화 하고 다음과 같이 코드를 작성했는데요.
void _callAPI() async {
try {
var response = await AuthCodeClient.instance.authorize(
redirectUri: 'http://localhost:8080/login/oauth2/code/kakao',
);
print(response);
} catch (error) {
print('카카오톡으로 로그인 실패 $error');
}
}
저 메서드를 호출하면
KakaoClientException unknown: OAuth 2.0 redirect uri was null, which should not happen
이런 오류가 반환됩니다.
final redirectUriWithParams = await _methodChannel.invokeMethod<String>(
CommonConstants.launchBrowserTab, args);
if (redirectUriWithParams != null) return redirectUriWithParams;
throw KakaoClientException(
ClientErrorCause.unknown,
"OAuth 2.0 redirect uri was null, which should not happen.",
);
코드 따라가 보니까 저 부분에서 오류가 나는 것 같은데 뭐가 문제일까요?
메서드 호출하면 카카오 로그인 화면에서 로그인 진행 전에 바로 오류부터 반환되요.
{url: 카카오계정?
client_id=529540eb153fa80c33ac0fea3a763257
&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flogin%2Foauth2%2Fcode%2Fkakao
&response_type=code
&ka=sdk%2F1.9.1+sdk_type%2Fflutter+os%2Fjavascript+origin%2Fhttp%3A%2F%2Flocalhost%3A59596
, redirect_uri: http://localhost:8080/login/oauth2/code/kakao
, is_popup: false}
args는 출력해보니까 이렇게 나오네요.