준비 - 커밋이름 “JWT 준비완료”
플러터 - 세팅
코드방식으로 하는 것은 숙제!!
카카오에 지원이 된다.
SDK가 필요한 이유???
프로토콜이 없기 때문이다.
이미지 자료 다운로드
의존성 설정
pub.dev에서도 확인 가능
yaml 설정으로 sdk추가
이건 뭔지 모르겠다 신경쓰지 말자
내 애플리케이션 추가
플랫폼 등록
이름 설정하고 저장하자.
플랫폼으로 들어가서 안드로이드 설정
플러터는 설정이 두개다 필요하지만,
현재 우리는 맥이 없으므로 그냥 안드로이드만.
여기 이부분을 패키지명으로 넣어줘야되는데, 선생님 예시랑 다를 수 있다.
내 패키지명을 넣을것!!
이렇게
리다이렉트 해야되는데.. 안되나? 싶지만,
우리가 라이브러리안쓰고 직접 코드를 짜면 리다이렉트 할 수 있다.
신경 안써도 된다.
네이티브 앱키 등록
네이티브 앱키를 복사한다.
문서에 보면 runApp이 실행되기 전에 init을 해줘야 되고, 이 init을 할 때
앱키를 등록해야된다.
해쉬키는 왜 등록해야하지???
카카오에 인증을 받기위해서는 해시파일을 같이 던져야된다.
전체 코드를 해시파일로 굽는다.
원본 진위여부를 판단할 때, 해시코드로 검증한다.
그래서 만약 같은 데이터에 두가지 해시코드가 있다면은, 보통 먼저 등록한 사람이 원본이라고 판단을 한다. 그래서 해시코드를 필요로하는 곳이면 등록하는 걸 까먹지 말자.
나중에 털려도 할말은 없다.
관리자의 권한으로 CMD 실행
관리자
key-tool이 있어야 된다.
윈도우즈는 환경변수가 %% 이기때문에 아래처럼 테스트해야된다.
GitBash는 ${}를 써야된다.
openssl를 잡아야되
// 해시키 생성 코
keytool -exportcert -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
JavaScript
복사
SSL 설정
환경 변수 등록
//환경변수 등록
C:\Program Files\OpenSSL-Win64\bin
JavaScript
복사
해시 생성
이 해시키가 필요하다.
내꺼 생성, 전자서명이다. 이 키가 없으면 내앱이 아니다. 위조방지할 때도 사용한다.
안드로이드 등록에서 해시값 넣어주자
여기에 넣어주면된다.
패키지명도 잘넣어야되니 주의하자.
<activity
android:name="com.kakao.sdk.flutter.AuthCodeCustomTabsActivity"
android:exported="true">
<intent-filter android:label="flutter_web_auth">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- "kakao${YOUR_NATIVE_APP_KEY}://oauth" 형식의 앱 실행 스킴 설정 -->
<!-- 카카오 로그인 Redirect URI -->
<data android:scheme="kakaobb232a2ba1ad3806f117271ac8122d96" android:host="oauth"/>
</intent-filter>
</activity>
JavaScript
복사
이것도 manifest.xml에 추가한다.
여기 kakao 붙이고 앱키 적어야된다.
앱의 build.gradle에 가서 설정을 바꿔주자.
이걸 찾아보자. defaultConfig
강제로 버전을 맞춰줘야된다. 보안 때문에
왜이게 필요하지??
왜 이게 필요하지???
동의항목 설정
동의항목, 일단 닉네임만 설정하자.
이것만 붙여넣으면 된다고??! 그렇답니다.
이건 loginPage에서 카카오 로그인 눌렸을때 로직
위의 코드로는 여기까지 넘어온다.
토큰 들어온거 확인
크레덴셜 방식
클라이언트에게 토큰을 전달한 다는 것이 코드 방식이랑 다른 점이다.
그리고 이 방식에는 사용자와 카카오 , 주체가 두개 이다.