卫星:使用FB的登录access_token

问题描述:

我正在实施混合iOS网络和本机应用程序。我正在使用iOS本机FB登录功能,并将本地应用程序的access_token发送到使用Satellizer的网络。卫星:使用FB的登录access_token

问题是:我是否可以避免使用FB权限对话框,并直接使用access_token注册用户并使用正常的Satellizer流从服务器恢复JWT?

权限对话框是每个第三方社交登录必须的。

用户需要批准并知道他将与该社交网络一起使用哪个应用程序,以及他将对该特定应用程序授予什么权限。

+0

该权限对话框由本地的iOS SDK进行,即还给访问令牌,而不是通常的Facebook给出的代码并且需要在服务器端交换最终的令牌。 –

+0

没关系。在网络中,您还需要接受许可。通常像FB这样的社交媒体网络会为您提供一个url或您需要将用户重定向到的内容。重定向页面包含权限和接受选项,并且在用户接受后,他被重定向到您提供的返回URL(通常是同一个域)。在返回URL中,提供者为您提供访问令牌或其他内容,然后使用该令牌进行交换和操作。 –

我解决它做发送的access_token并手动将其存储的Satellizer工作:

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