当用户通过Facebook应用程序登录时,重定向到自己的网站

时间:2011-02-14 14:22:19

标签: login facebook

我正在构建一个具有发布功能的应用 在运行特定操作时向用户墙发送消息 我的网站。

我所做的是(简要地):

  1. 在Facebook上注册我自己的应用程序

  2. 经许可在我的网站上添加了登录按钮 发布:

  3. 登录Facebook

    1. 下载了facebook-php-sdk库
    2. 现在我开始遇到问题了。我不知道怎么 做我现在想做的事。

      我想做什么:

      当用户通过我的网站登录facebook时。我想要 我要调用的网站上的文件,我可以在其中更新 用户在我自己的数据库中的数据。

      因为这不是画布网址的意图吗?如何 是的,似乎没有文件在我的网站上调用时 我点击登录。

2 个答案:

答案 0 :(得分:0)

画布URL是Facebook在Facebook中显示您的应用程序时使用的URL。如果您希望用户在Facebook本身使用您的应用程序,则可以使用此功能。

使用Facebook的API进行身份验证时(假设此处使用图形API),您提供了redirect_uri作为身份验证URL的一部分。一旦Facebook授权您的应用程序,它就会将用户的Web浏览器重定向到您指定的URI。此URI可以是您在网站上所需的任何链接。您应该使用该链接确定用户何时成功登录,例如https://mywebsite/facebook/loggedin

答案 1 :(得分:0)

由于您使用的是Facebook PHP-SDK,您发现用户有两种登录选项:

  • 使用XFBML按钮,它将:
    1. 打开登录对话框(弹出窗口),询问权限..等等。
    2. 成功完成身份验证/授权后,对话框将关闭,auth.login事件将被触发,并根据该页面重新加载window.location.reload();
    3. 页面顶部的PHP将开始营业, $session = $facebook->getSession();将实际检索会话! $user = $facebook->getUser();将检索当前用户
  • 使用库$loginUrl = $facebook->getLoginUrl();生成的登录网址,此网址会引导您完成相同的流程,如果您发现有 next redirect_uri参数,在成功处理该URL后(主要是您所在的URL),会将您重定向回来,如果您愿意,可以更改该参数。