我有 3 个实体:
1.安卓手机
2.本地服务器
3.FB服务器
我希望用户从他的手机登录到 FB,但是一旦通过身份验证,我希望能够将数据从 FB 提取到本地服务器(手机上没有数据)。
做这个的最好方式是什么 ?。有没有办法使用 oAuth 做到这一点?
这当然没有问题。只需在您的 Web 服务器上实现服务器端身份验证流程。您无需在网站上放置登录按钮,将用户重定向到 Facebook 对话框,而是使用该 URI 在智能手机上打开浏览器(或嵌入 Web 视图)。然后redirect_uri
指向您的 Web 服务器回调,您会在其中收到授权码。然后,您通过从您的服务器调用 Facebook 来将该代码交换为访问令牌,然后您就完成了。
在手机上,将浏览器指向:
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID
&redirect_uri=https://YOUR_SERVER/YOUR_CALLBACK
&scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
&state=SOME_ARBITRARY_BUT_UNIQUE_STRING
处理回调后,从您的服务器发出请求:
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&redirect_uri=https://YOUR_SERVER/YOUR_CALLBACK
&client_secret=YOUR_APP_SECRET
&code=AUTHORIZATION_CODE_YOU_RECEIVED