授权自定义Web应用程序

时间:2012-08-07 16:00:17

标签: php mysql authentication security

谷歌搜索了几天并没有真正得到任何关于facebook / google plus或其他网站如何验证他们的应用程序的答案(可能是因为它可能是一个风险,不确定但仍然无法找到任何答案。)

我希望运行一个用户可以“安装”网络应用程序的网站 - 就像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(如果我们假设,经过身份验证)并因此可以访问数据,该怎么办呢。

我可能会过度思考并迷惑自己,但我无法想到如何做到这一点。

1 个答案:

答案 0 :(得分:0)

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

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

根据我的理解,您希望设置类似于Web应用程序的内容。我没有将OAuth与PHP结合使用,但我很肯定有很多资源可供使用。