Xamarin在Android平台上使用Facebook OAuth驗證
主題: |
Xamarin在Android平台上使用Facebook OAuth驗證 |
文章簡介: |
介紹如何在Xamarin在Android平台時,透過Facebook OAuth驗證進行程式設計 |
作者: |
陳冠勳 |
版本/產出日期: |
V1.0/2016.11.23 |
1. 前言
• 於社群軟體的發達,進而透過社群軟體的授權來整合的需求也就越發強烈,在Xamarin上也有提供Componnent,此文為初步介紹Xamarin上,Android平台之Facebook的Componnet使用。
2. 目的
• 初步了解如何運用Facebook SDK進行Facebook授權的整合,藉此取得使用者在Facebook上的相關資訊,完成一個Facebook驗證程式。
3. Facebook開發者設定:
a.進入Facebook開發者頁面:https://developers.facebook.com/?ref=pf ,點選右上角新增應用程式按鈕
b.輸入App名稱,及聯絡電子郵件後,點選「建立應用程式編號」
c.即可取得Facebook App ID及App Name
d.接著需要新增平台給此次的Sample Code使用,點選頁面下方「新增平台」
e.選擇平台
f.設定Facebook開發者平台設定
(1)Google Play 套件名稱(Packge Name)
(2)級別名稱(欲使用Facebook功能的Class名稱)
(3)產生雜湊金鑰(Hash Key):
於Mac終端機模式輸入:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
於Windows 命令模式輸入:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
(4)勾選單一登入
(5)點選儲存完成Facebook設定
4. 開啟Xamarin Android專案,於Components資料夾點選右鍵後,選擇Get More Components。
5. 於搜尋欄位輸入「Facebook」後,點選Add To App後,即開始下載Component
6. 於AndroidManifest.xml,勾選Internet及WriteExternalStorage權限
7. 加入ApplicationId、ApplicationName之assembly Tag
8. 在Resources/values/Strings.xml,加入之前在Facebook開發者頁面申請的AppName及AppId
9. 在Activity建立要使用Facebook授權服務的程式碼
a.建立FacebookCallBack Class
b.建立Facebook使用者改變時觸發的Class
c.初始化,註冊Facebook Call Back及使用者變更事件
d.複寫onActivityResult事件將授權頁面回傳值填入 CallbackManager,方可使Facebook Call Back及使用者變更事 件起作用
e.於欲觸發顯示Facebook授權頁面的地方呼叫LoginManager.Instance.LogInWithReadPermissions,並給予想要取得的權限,即可呼叫Facebook登入頁面進行授權
10. 參考來源
• Xamarin Components:Facebook AndroidSDK Getting Start- https://components.xamarin.com/gettingstarted/facebookandroid
• Facebook-Android新手指南-https://developers.facebook.com/docs/android/getting-started
• Facebook-權限說明-https://developers.facebook.com/docs/facebook-login/permissions#reference-public_profile