Flutter web KOE006 Redirect URI 이슈

안녕하세요. 현재 플러터 웹 에서 카카오 로그인을 구현하고 있습니다.
앱 ID는 162473 입니다!

UserApi의 loginWithKakaoAcoount를 사용했을때는 문제없이 동작했는데,
loginWIthKakaoScope를 사용했을시, 이전에는 발생하지 않았던 KOE006 redirect uri 이슈가 발생했는데 사용된 uri가 유효하지 않는 uri schema로 확인됩니다.
“kakaod9281f52b029cc00f00283e3a5883b42://oauth”
제가 구현한 코드로는 loginWithKakaoScope에 scope를 param으로 추가해준것 뿐인데,
어떤 문제로 위와 같이 유효하지 않은 uri schema로 redirect uri요청이 이루어 진것인지 궁금합니다.

*추가 질문
Flutter web에서는 redirect uri를 활용한 카카오 로그인을 권장하는걸로 알고있는데 권장 환경인 네이티브 앱서비스인 기본 구현방식은 Flutter web 에서는 사용이 불가한가요?

안녕하세요

loginWithNewScopes() 를 말씀하신 것 같아서 해당 메서드 기준으로 답변드리는 점 양해 부탁드려요.

코드를 확인해봤을 때 SDK 내부적으로 사용하는 웹 전용 파라미터가 누락되어서 KOE006 에러가 발생한 것으로 보입니다. 불편을 끼쳐드려 죄송하고 이 부분은 빠른 시일 내에 수정해서 배포하도록 하겠습니다.

다운받은 패키지 코드를 수정해서 사용할 수가 있는데요, 번거로우시겠지만 배포 전까지는 해당 부분을 아래와 같이 수정해서 사용 부탁드려요ㅠㅠ

최신 버전인 1.4.2 기준으로 user_api.dart 파일의 182번 라인을 보시면 AuthCodeClient.authorizeWithNewScopes()를 호출하는 것을 확인할 수 있는데요, 해당 메서드 호출할 때 webPopupLogin 파라미터를 true로 넘겨주면 정상 동작 확인하실 수 있습니다.

추가로 질문주신 내용에 대해서는 제가 제대로 이해를 못한 것 같은데요, 플러터 웹에서 별도의 서버 구현 없이 토큰발급까지 완료되는 로그인 방식을 지원하는지에 대한 문의가 맞나요?

1개의 좋아요

안녕하세요, 답변 정말 감사드립니다.

내부 패키지를 수정하여, KOE006 오류는 해결하였습니다. 감사드립니다.

추가 질문 내용의 대한 설명이 부족했던거 같습니다.

아래의 DOCS내용을 첨부하여 다시 설명 드리면 좋을거같아 첨부드립니다.

질문드린 내용의 요지는, flutter web 에서는 “반드시” 구현방식을 Redirect 방식으로 사용해야하는가 에 대한 질문이였습니다.

(하지만 현재 제가 개발중인 웹에서는 기본방식인 UserApi 클래스를 활용하고 있기에 기본 방식으로도 가능하다는게 확인되어서 질문드렸습니다)

Screen Shot 2023-05-08 at 11.18.47 am

반드시 redirect 방식으로만 구현해야하는건 아니고 아래와 같은 이유로 redirect 방식으로 구현할 것을 권장하고 있는 점 참고 부탁드리겠습니다.

기본 방식의 경우 발급된 토큰을 로컬 저장소에 저장해서 관리하기 때문에 보안상의 위험성이 있을 수 있고, 웹 특성상 다양한 브라우저에서 실행될 수 있는데 일부 브라우저 설정 등의 문제로 기본 방식이 정상적으로 동작하지 않을 수 있기 때문에 redirect 방식으로 구현하기를 권장합니다.

1개의 좋아요