-
카카오 로그인에러 AUTHORIZATION_FAILED: invalid android_key_hash or ios_bundle_id or web_site_url개발/flutter 2020. 9. 24. 10:53
Modern Collection View 와 MVVM 패턴 가이드
카카오 로그인을 구현했는데 유저정보를 가져오지않고 다음과같은 에러를 던진다.
AUTHORIZATION_FAILED: invalid android_key_hash or ios_bundle_id or web_site_url
이 에러가 발생하는 이유는 카카오 개발자 페이지에서 키 해시가 등록이 안되어 있거나 혹은 잘못 들어가있는 경우이다.
이 에러는 보통 안드로이드 환경에서 일어나며 IOS 에서는 일어나지않았다.
해결법은 우선 디버깅과 릴리즈모드로 나뉜다.
디버깅은 내 작업환경에 영향을 받아 각 작업 환경마다 키해시를 등록 해줘야한다.
예를들어 작업자A, 작업자B 가 다른 컴퓨터를 사용중이면 각자가 다른 키해시를 가지고있다.
작업자 A가 집에있는 컴퓨터로 작업해도 마찬가지이다.
반대로 릴리즈 키해시의경우에는 구글 플레이 스토어에 등록되어있는 키해시를 활용한다.
따라서 하나만 등록해놓으면 된다.
디버깅모드
AUTHORIZATION_FAILED: invalid android_key_hash or ios_bundle_id or web_site_url
아마 대부분 디버깅을 해보다가 이 에러를 발견했을것이다.
우선 카카오 개발자 페이지에가서 키해시를 어디다가 등록해야하는지 보자
내 애플리케이션 > 앱설정 > 플랫폼에보면 이런 화면이있다.
수정버튼을 클릭해서 키해시에 등록을 하면된다.
수정 버튼이없다면 권한이 주어졌는지 확인해봐야한다.
이제 디버깅 해시키를 찾아보려면 터미널을 우선열고
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
해당 명령어를 입력하면 해시키가 나온다. 터미널 어디에서 입력하던 절대경로를 참조하기때문에 상관없다.
터미널에 출력된 해시키를 저위에있는 키해시에 등록하면 디버깅 환경에서 카카오 로그인이 성공한다.
릴리즈 키해시
릴리즈 키해시의경우도 카카오 페이지에 등록하는 방식은 똑같기 때문에 등록 방법은 생략하도록하고
릴리즈 키해시를 받아서 똑같이 저 키해시 등록칸에 넣으면된다.
키해시를 받으려면 이 명령어를 치면된다.
echo <구글플레이스토어->앱서명->앱서명 인증서 sha1 인증서 지문> | xxd -r -p | openssl base64
저 안에 입력 해야하는는 sha 1 인증서 지문을 찾아와서 넣어주면된다.
구글 플레이 스토어에 있는 내가배포중인 앱에 들어가 앱서명 메뉴를 클릭하면
위와같이 sha1 인증서 지문을 볼수있다.
그것을 복사해서 저 명령어 안에 넣어주어 키해시를 출력받고 카카오 개발자페이지에 넣어주면 정상작동한다.
'개발 > flutter' 카테고리의 다른 글
Flutter - graphQL 인자값 넣어서 Mutation 하기 (0) 2020.10.06 Flutter - GraphQL 세팅 및 쿼리 하는방법 (0) 2020.09.29 Flutter-Your Xcode version may be too old for your iOS version 에러해결 (0) 2020.09.22 팩토리 패턴 (0) 2020.09.14 Flutter 카카오 로그인 구현하기 (0) 2020.09.09