php - Android + 网站/服务器上的 Facebook 身份验证

标签 php android mysql facebook

我正在开发一个 Android 应用程序,用户可以使用他的 Facebook 帐户登录。另外,我想将用户的一些输入存储在 mysql 数据库中。在服务器端,我知道将检查用户是否已使用 Facebook 登录(出于安全风险),以便只有使用 Facebook 登录的用户才能访问数据库。我将如何管理这个? Facebook 身份验证对我来说没问题,但我没有解决方案来检查我网站上的登录状态。感谢您的帮助!

最佳答案

您需要保存/共享 AccessToken。将访问 token 视为 PHP 中的 session ID。

在 PHP 中,使用 SDK,您需要 getAccessToken() 和 setAccessToken() 函数(同时告诉 Facebook API 不要使用 cookie)* 并共享此值。

对于移动设备,我没有在 Android Java 中使用过 Facebook Auth,但我在移动设备上使用过 Titanium,并且调用完全相同 (Titanium.Facebook.getAccessToken)。当您将它传回 PHP 时,工作非常顺利。 Facebook Java SDK 也有

public String getAccessToken() {        return mAccessToken;    }
public void setAccessToken(String token) {        mAccessToken = token;        mLastAccessUpdate = System.currentTimeMillis();    }

在 Facebook 类中。因此,您需要使用这些调用或用于 Android 的任何 SDK。

  • 警告:PHP Facebok SDK 中存在一个缺陷,如果您使用无效 token (这很常见)调用“setAccessToken”并且您没有使用 cookie,则 Facebook API 会删除您的所有 session 数据。如果您将 session 用于其他用途,则需要注意这一点。

关于php - Android + 网站/服务器上的 Facebook 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698698/

相关文章:

javascript - 已删除的文件仍在被访问

php - 为什么 Laravel 供应商是 :publish returning "Unable to locate publishable resources"?

安卓媒体播放器延迟

javascript - 如何访问这个 Javascript mysql 错误对象 (Nodejs)?

javascript - PHP - 在提交后调用函数?

php - wordpress 拆分 <li> 以形成 3 列

java - Android php mysql,不带日志操作

java - 如何在没有 FORM POST 操作键的情况下编写项目数组的 HTML BODY 字符串?

mysql - 通过 SSH 使用 R (RMySQL) 连接 MySQL

mysql - 加速 MySQL 数据库多重连接的技巧