facebook注册/登录

facebook注册/登录,facebook,Facebook,我正在尝试将facebook连接到我的网站,我有几个问题 1:是否可以使用用户当前的facebook电子邮件/密码在我的网站上注册用户 假设用户点击链接通过facebook注册,然后他必须给我访问密码、电子邮件等的权限。。。在这之后,我把这些信息放在我自己的数据库中,他可以随时用这个帐号登录,而不需要在将来的任何时候给我许可 2:如果这种注册不可能,还有什么解决方案对我最合适?因为我需要以某种方式跟踪使用facebook登录的用户,因为他可以上传照片、发送消息等 不管怎样,我对facebook和

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

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

假设用户点击链接
通过facebook注册
,然后他必须给我访问密码、电子邮件等的权限。。。在这之后,我把这些信息放在我自己的数据库中,他可以随时用这个帐号登录,而不需要在将来的任何时候给我许可

2:如果这种注册不可能,还有什么解决方案对我最合适?因为我需要以某种方式跟踪使用facebook登录的用户,因为他可以上传照片、发送消息等

不管怎样,我对facebook和类似的东西还很陌生,所以我真的很迷茫,希望有人能帮我:)


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

是的,可以获得用户的信息。但这是相当复杂的,当你从未处理过它

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

https://m.facebook.com/dialog/oauth?client_id=your-client-id&redirect_uri=xxx&scope=listof-information-you-want
然后,Facebook会将您的客户端返回到指定的uri,如果用户拒绝,它会给出原因。如果不是,您将获得URL编码格式的代码

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

https://graph.facebook.com/oauth/access_token?redirect_uri=xxx&client_id=xxx&client_secret=xxx&code=xxxx
如果授权没有失败,这将返回一个访问令牌

之后,您可以询问所需信息:

https://graph.facebook.com/me?method=GET&metadata=true&format=json&access_token=access_token
这将包括一个facebook uid,它对所有用户都是唯一的。存储它,您就可以区分注册和登录

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

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

  • 您无法访问用户密码-只有在您要求时才能使用电子邮件

  • 最好的方法是有一个用户表和他们的Facebook帐户id

  • 如果你想允许用户在没有Facebook的情况下注册,那么他们的密码和Facebook id就有一个可为空的字段,用户名也有一个字段,如果他们通过该途径注册,你可以从Facebook填充该字段。

    • 您永远无法从Facebook访问用户的密码,即使有他/她的权限,因此用户必须始终通过Facebook进行身份验证,并在身份验证成功后让Facebook向您传递登录用户的用户id。您可以在本地存储所有类型的其他数据,但不足以亲自验证用户

    • 一旦用户通过身份验证,您就可以通过API访问该用户的Facebook用户id,这应该足以将各种信息连接到该特定用户


    当从您的控件中获取密码时,Facebook不提供对帐户的访问。它为登录信息提供自己的画布。因此,您不能使用第一种方法在数据库中存储密码

    但是,一旦用户使用facebook SDK登录到他的帐户,您就可以存储电子邮件地址。请查看这个C#SDK示例代码示例。 您可以使用Facebook API获取用户电子邮件id、照片、好友列表和其他信息,然后相应地进行播放