2017-10-05 70 views
0

我在我的React-Native應用程序中安裝了FBSDK。React-Native的Facebook SDK如何維護登錄信息?

登錄工作正常,登錄後我可以通過Graph API獲取用戶數據,但是發生的一切對我來說都是一個謎。

它如何保持登錄信息?像,當我重新啓動應用程序,並希望做一個圖形API請求或共享的東西,而無需再次顯示登錄對話框?

+1

我假設它是SSO(單點登錄) – luschn

回答

1

如果我沒有弄錯react-native-fbsdk通過AccessToken.getCurrentAccessToken()在令牌中維護登錄信息。它的下落可能是特定於平臺的,但不要在此引用我的意思。

假設您在登錄時已經詢問了足夠的權限,所有後續的Graph API請求都不應觸發任何其他彈出窗口。這些可以使如下:

// Create a graph request asking for user information with a callback to handle the response. 
const infoRequest = new GraphRequest(
    '/me', 
    null, 
    this._responseInfoCallback, 
); 
// Start the graph request. 
new GraphRequestManager().addRequest(infoRequest).start(); 

完整的示例在:https://github.com/facebook/react-native-fbsdk#graph-api

如果您共享一下後,你可能需要需要事先明確授予額外的權限(publish_actions)。這些可以在第一次登錄時被詢問,但可能沒有通過Facebook的批准程序,因爲這是針對their best practices,要求只要求我們需要的權限並在上下文中要求他們。

這是Login Manager非常方便的地方,因爲它允許您在用戶通過應用程序進度時請求額外的權限,但這是以額外的彈出窗口爲代價的。

+0

我看到了。謝謝。所以這個令牌在應用程序重啓之間保存? –