2016-02-03 83 views
0

我正在實施混合iOS網絡和本機應用程序。我正在使用iOS本機FB登錄功能,並將本地應用程序的access_token發送到使用Satellizer的網絡。衛星:使用FB的登錄access_token

問題是:我是否可以避免使用FB權限對話框,並直接使用access_token註冊用戶並使用正常的Satellizer流從服務器恢復JWT?

回答

0

權限對話框是每個第三方社交登錄必須的。

用戶需要批准並知道他將與該社交網絡一起使用哪個應用程序,以及他將對該特定應用程序授予什麼權限。

+0

該權限對話框由本地的iOS SDK進行,即還給訪問令牌,而不是通常的Facebook給出的代碼並且需要在服務器端交換最終的令牌。 –

+0

沒關係。在網絡中,您還需要接受許可。通常像FB這樣的社交媒體網絡會爲您提供一個url或您需要將用戶重定向到的內容。重定向頁面包含權限和接受選項,並且在用戶接受後,他被重定向到您提供的返回URL(通常是同一個域)。在返回URL中,提供者爲您提供訪問令牌或其他內容,然後使用該令牌進行交換和操作。 –

0

我解決它做發送的access_token並手動將其存儲的Satellizer工作:

$http.post('/auth/facebook', { 
        token: receivediOSToken 
       }).then(function (response) { 
        $auth.setToken(response.data.token); 
        loginSuccess(); 
       }, function() { 
        loginError(); 
       });