2017-08-04 94 views
1

我開始一個新的項目,將Spring引導作爲後端,將React.js作爲前端。 現在我正在努力解決登錄/身份驗證問題。我想從Facebook提供帳戶套件,但幾乎沒有疑問。 其中之一是我應該從哪裏創建一個請求到FB sdk的訪問令牌?它應該是服務器(春天)還是反應,然後將數據發佈到服務器?有沒有可能從java調用Accout-Kit?Facebook帳戶套件+ React.js +彈簧啓動

我對這個主題很陌生,會很感激任何答案。

回答

0

您應該從客戶端js調用AccountKit。爲了增加安全性,您可以使用代碼流(而不是令牌流)並將代碼傳遞到服務器端。從那裏,您可以對Graph API進行REST調用,並從服務器端交換該代碼+應用程序密鑰以獲取令牌。有an example on the documentation that shows this flow using node.js,你應該能夠做一些服務器端的改變,使其在你的設置上運行。

另外,你有沒有嘗試過使用react-account-kit-web

+0

您好,感謝的答案:) 這將意味着流動將是這樣的:1。 客戶端應用程序調用賬戶套件授權碼 2.客戶端應用程序調用服務器身份驗證碼 3.服務器調用帳戶套件認證碼並接收存儲在服務器端的用戶訪問令牌db 4.服務器返回ok,訪問令牌和Uid返回給客戶端。 此Uid和訪問令牌應該也存儲在反應應用程序端進一步服務器API調用,對吧?具體在哪裏?在餅乾或在某些反應減少商店? – zmaselke

+0

那麼,這取決於你想要的安全類型。如果您使用代碼流,那麼您不應該將令牌發送回客戶端。代碼流程背後的全部理念是讓客戶端遠離訪問帳戶的時間。這是一項主要針對www客戶端的安全措施,因爲攻擊者可以輕鬆攻擊js和web插件。 但是,如果您信任該應用程序並希望直接在該處存儲該令牌,則該州是保留該令牌的好地方。 Cookie存儲訪問令牌顯然不太安全,不推薦 –

+0

很酷,我不會冒險在瀏覽器中保留訪問令牌。 謝謝你的回答! – zmaselke