안녕하세요! 웹 서비스 개발 중 카카오 간편 로그인 기능을 자바스크립트로 개발을 했습니다.
모바일 웹으로 실행 했을 때 ios 제품에선 문제 없이 작동이 되는데 최신 안드로이드 제품에서 팝업이 뜨고 바로 닫히는 에러가 발생합니다.
어떤 방식으로 해결을 해야할까요? 댓글 달아 주시면 감사하겠습니다!
구현 코드 첨부합니다.
<script lang="ts">
@Component({
head: {
script: [{ src: '//developers.kakao.com/sdk/js/kakao.js' }],
},
})
export default class KakaoAuth extends Vue {
mounted() {
if (process.client) {
const { code } = this.$route.query
if (code) {
this.result()
return
}
this.kakaoLogin()
}
}
async result() {
const result: any = {
status: 'unknown',
}
try {
const { code } = this.$route.query
result.status = 'success'
result.data = { code }
} catch (ex) {
result.status = 'error'
result.exception = ex
}
const message = JSON.stringify(result)
const flutterApp = (window as any).flutterApp
if (flutterApp) {
flutterApp.postMessage(message)
return
}
window.opener.postMessage(message, location.origin)
}
async kakaoLogin() {
const kakao = (window as any).Kakao
if (!kakao.isInitialized()) {
await kakao.init(process.env.kakaoClientKey)
}
kakao.Auth.authorize({
redirectUri: `${location.origin}/kakao`,
})
}
}
</script>