2013-07-10 42 views
0

我試圖建立一個Facebook認證的原生移動應用(Windows phone)系統連接到我創建的節點的網絡服務。臉譜,節點和移動應用程序 - 齊心協力

我想對於用戶:

  • 登錄到Facebook上的移動應用通過本地UI或網頁窗口
  • 如果成功登錄,創建或訪問服務器端的用戶帳戶依賴於這種身份
  • 數據使用驗證的會話才能進行後續通過原生移動應用

我的問題是驗證requestsvto該用戶的數據:什麼是最好的辦法了è?

我應該......

  1. 登錄客戶端在本地移動應用Facebook和通過訪問令牌節點服務,然後根據自己的Facebook用戶以某種方式映射到我的業務數據帳戶ID?如果我只是在URL中傳遞該標記,這看起來非常不安全。
  2. 通過我的應用程序中的移動瀏覽器窗口登錄用戶,然後在同一窗口中重定向回我的Node服務?那麼如何在我的應用程序中本地生成隨後的身份驗證請求?
  3. 完全可以做點別的事嗎?

對不起這是如此開放式的,但是這是第一次我有這些東西綁在一起,雖然有對我還沒有找到的東西,描述了整體格局/最佳實踐各部分大量的信息這個設計。

回答

1

你的問題是相當意見的基礎......但我仍然會盡力幫忙。

首先,你可以,如果你使用https通過URL訪問令牌,其不安全感。即使從移動應用程序登錄Facebook,也不會僅在URL中傳遞訪問令牌。如果你的意思是在http://something.com/access_token中有令牌,那麼不是它應該如何完成。

如果你看看到的OAuth 2.0草案你就會明白,它通過設置一個標題授權取值爲令牌和token_type完成。仔細看看草稿。

當你的解決方案,我認爲它很好,如果你只是因爲我在你的應用程序,進而從Facebook驗證該令牌在每個請求中提到的首部發送的訪問令牌使用問題中提到的第一種方法。 如果您認爲這對於驗證來自Facebook的每個請求的流程來說太長了,您可以通過從移動應用向服務器發送請求並讓服務器處理訪問令牌並將其存儲在可以進行身份​​驗證的數據庫中每個請求。 無論如何看看Passport模塊,它有Facebook和其他身份驗證內置,應該足以滿足您的需求。

相關問題