我知道我已經看到了使用Facebook登錄我的應用程序,但從來沒有向我提供授權屏幕。在我的生活中,我無法弄清楚如何在Windows Phone 7中實現這一點。我所能得到的最好的結果是使用Facebook for C#SDK在WebView中獲取授權屏幕。這看起來很可怕,頁面甚至看起來都沒有移動就緒。如何使用Facebook授權我的應用程序
我已經搜索了高和低的答案,並沒有發現任何東西。想知道是否有人能指出我正確的方向來實現這一目標?
我知道我已經看到了使用Facebook登錄我的應用程序,但從來沒有向我提供授權屏幕。在我的生活中,我無法弄清楚如何在Windows Phone 7中實現這一點。我所能得到的最好的結果是使用Facebook for C#SDK在WebView中獲取授權屏幕。這看起來很可怕,頁面甚至看起來都沒有移動就緒。如何使用Facebook授權我的應用程序
我已經搜索了高和低的答案,並沒有發現任何東西。想知道是否有人能指出我正確的方向來實現這一目標?
是的,我也看到了這類應用程序(例如Spotify提示您輸入您的Facebook帳戶憑證,而不是使用正常授權流程)。我最好的猜測是他們或者是某種高級合作伙伴,並且可以訪問一些私有API或者他們使用自定義授權流程(例如,當您在網站上授權應用程序時,系統會將授權密鑰保存在數據庫中。相同的應用程序ID /然後在Windows Phone應用程序中使用祕密,您只需鍵入您的電子郵件/用戶名以便系統找到之前保存的授權密鑰)。
我也不喜歡使用WebBrowser控件顯示Facebook登錄/身份驗證的方法(主要是因爲UI不一致),但我認爲這仍然是大多數情況下的方式(因爲這是官方的和推薦的授權應用程序的方式和所有其他方法似乎對我來說很危險,也有其缺點)。
您將希望使用「服務器端身份驗證」方法。以下文檔介紹了它的工作原理:Server-side authentication(另請閱讀OAuth Dialog有關如何配置身份驗證對話框的文檔)。您可以通過傳遞display
參數(或者touch
或wap
)來更改UI的外觀。
請注意,display=touch
在Windows Phone的目前破 - Facebook的始終回落到wap
這已取消,將按照July 2012 update被刪除(對應情況:Facebook API can't be used with Windows Phone apps)。它也是Facebook C#SDK項目頁面上的已知問題之一:Facebook C# SDK - Known issues。
希望這可以澄清一些事情。