주의
현재 최신 버전의 SDK 와 조금 다를 수 있습니다.
Facebook 에서 새로 나온 SSO(Single Sign-ON) 접속 방식을 Android 에서 적용하는 방법.
SSO 란 그냥 간단히 말해서 한번 접속하고 나면 다음에 접속할땐 아이디랑 비번 다시 물어 보지 않고 한번에 접속 시켜 주는 기능 이다.
첫번째 로는 SDK를 최신 버전으로 받은다음 적용 시켜 준다.
Android 용 페이스북 SDK 는 밑에 주소에서 받을 수 있다.
https://github.com/facebook/facebook-android-sdk
그리고 페이스북 개발자 페이지에서 등록 했었던 앱 설정에 들어가서 밑으로 내려가 보면
Native Android App 이란 부분을 체크하고 Android Key Hash 부분을 채워 넣어 준다.
안드로이드 키 해시를 얻는 방법
일단 openssl 을 다운 받는다.
http://gnuwin32.sourceforge.net/packages/openssl.htm
설치 후
컴퓨터 -> 속성 -> 시스템 속성 -> 고급 -> 환경변수 로 들어가서 시스템 변수 쪽에 Path 부분에다
openssl 설치 폴더 안에 bin 폴더 주소를 넣어 준다.
ex) 붙인 다음에 꼭 ” ; ” 이걸 넣어 주어야 함.
C:\Program Files (x86)\GnuWin32\bin;
암호 : android
하면 하얀색 부분에 키값이 나오는데 이 값을 페이스북 앱 Android Key Hash 부분에 넣는다.
객체 생성 부분
iOS 에서는 델리게이트를 설정해 주었는데 안드로이드 에서는
델리게이트 개념으로 리스너를 로그인 할 때 등록한다.
정리
안드로이드도 iOS 와 마찬 가지로 페이스북 개발자 페이지에서 등록 해 주고 로그인 할때,
로그인 완료 됬을 때 부분에 대한 코딩을 해 주면 된다.
안드로이드의 경우 해시 키 얻어 오는 부분이 조금 까다 롭다.
그리고 대 부분 액티비티 내부에 페이스북 객체를 두지 않고 따로 클래스를 만들어 관리를 할 텐데 그 경우 메인 액티비티에 있는 값을 얻어 와야 할 경우가 생긴다.
그럴 때는 “SharedPreferences” 를 사용 하면 된다.
(Android 카테고리에 쉐어드 저장소 사용하기 참조.)
---------------- Tip ----------------
혹시 사이닝을 위해서 키 값을 따로 생성 했다면 위에서 설정 해 주었던 키 해시 코드는 변경해주어야 한다.
새로 생성된 alias 와 파일주소, 비밀번호를 기억하고 cmd 창에서 다음과 같이 실행 한다.
keytool -exportcert -alias 이름 -keystore 파일주소 | openssl sha1 -binary | openssl base64
비밀번호를 물어보면 해당 키의 비밀번호를 입력하고 결과로 나오는 값을 페이스북에 등록 하면 된다.
'Programming > Facebook SDK' 카테고리의 다른 글
[Facebook SDK] 개인 AccessToken 값 가지고 오는 방법 (0) | 2015.03.26 |
---|---|
[Facebook SDK] iOS 에서 Facebook SSO 접속하는 방법 (0) | 2015.03.26 |
[Facebook SDK] Graph API (0) | 2015.03.26 |