授权自定义 Web 应用


Authorising a custom web app

谷歌搜索

了几天,并没有真正找到任何关于Facebook/Google Plus或其他网站如何验证其应用程序的答案(也许是因为这可能是一种风险,不确定但仍然找不到任何答案。

我希望运行一个用户可以"安装"Web应用程序的网站 - 就像facebook/google plus一样。例如:用户访问堆栈溢出应用程序,它请求权限并获得身份验证。

我将如何做到这一点?即如何交叉检查应用程序是否经过用户身份验证,并且应用程序 ID 是否与正在使用的实际应用程序匹配,以防止恶意应用程序使用已知经过身份验证的相同 ID。

我能想到的唯一方法是检查用户是否允许该应用程序。伪:"SELECT * FROM authorised_applications WHERE user_id = '123' AND app_id = '234'"如果有,请允许应用程序访问某些数据(即用户名等)。

if(mysql_num_rows(pseudo_above)=="1") { allow }

但是,如果流氓应用程序使用相同的应用程序 ID(如果我们假设该 ID 已经过身份验证)并因此可以访问数据,该怎么办?

我可能会想太多,让自己感到困惑,但我真的想不出该怎么做。

为了向这些服务进行身份验证,他们使用 OAuth。我建议阅读这篇很棒的文章:

http://hueniverse.com/2007/10/beginners-guide-to-oauth-part-ii-protocol-workflow/

据我了解,您希望为您的 Web 应用程序设置类似于的东西。我没有将OAuth与PHP结合使用,但我确信有很多资源可以使用它。