facebook注册/登录

Lin*_*nas 3 facebook

我正在尝试将facebook连接到我的网站,我有几个问题.

1:是否可以使用他当前的Facebook电子邮件/密码在我的网站上注册用户.

假设用户点击了链接Register via facebook,然后他必须给我权限来访问他的密码,电子邮件等等......之后我把这些信息放在我自己的数据库中,他可以随时使用该帐户登录他想要在将来的任何时候都不需要给我任何约束.

2:如果无法进行那种注册,那么对我来说最好的解决方案是什么?因为我需要以某种方式跟踪用Facebook登录的用户,因为他可以上传照片,发送消息等.

无论如何,我对facebook和类似的东西都很新,所以我真的迷失在这里,希望有人可以帮助我:)

编辑谢谢大家的精彩答案,它帮助了我很多,现在剩下的就是阅读文档:)

Edg*_*rks 6

是的,它可以获取用户的信息.但是当你从未处理过它时,它会相当复杂.

首先,您需要将用户发送到以下链接:

https://m.facebook.com/dialog/oauth?client_id=your-client-id&redirect_uri=xxx&scope=listof-information-you-want
Run Code Online (Sandbox Code Playgroud)

然后Facebook会将您的客户端返回到指定的uri,如果用户拒绝它将给出原因.如果不是,您将获得urlencoded格式的代码.

以下步骤需要此代码,即访问令牌的请求:

https://graph.facebook.com/oauth/access_token?redirect_uri=xxx&client_id=xxx&client_secret=xxx&code=xxxx
Run Code Online (Sandbox Code Playgroud)

如果授权没有失败,这将返回访问令牌.

之后,您可以询问您想要的信息:

https://graph.facebook.com/me?method=GET&metadata=true&format=json&access_token=access_token
Run Code Online (Sandbox Code Playgroud)

这将包括一个facebook uid,它对所有用户都是唯一的.存储它,您可以识别注册和登录.

这大致是任何oauth2应用程序的过程.

在用户授予您权限后,Facebook不会反复询问权限.因此,您可以存储访问令牌并将其重新用于后端内容,并使用您用于注册登录的相同过程.