11

我正在使用 Symfony2 在 PHP 中编写 REST API。此 API 旨在供各个网站使用来访问数据,这将由客户端库完成。

但是,我需要保护 API 的安全,事实证明这有点令人困惑。我已经做了一些研究,据我所知,一个好方法似乎是将 OAuth2 与客户端凭据流一起使用(参见 RFC 草案)。我不得不承认,我仍然不清楚它是如何工作的细节,但我一直在读它是如此简单。我想我的第一个问题是:这是要走的路还是我走错了方向?我应该使用其他方法来验证客户端吗?请记住,我需要身份、身份验证和授权。

如果是,使用客户端凭据的 OAuth2 是一种方法,那么我问:在 PHP 中实现这一目标的最佳方法是什么?有没有人真的这样做过?到目前为止,我一直在尝试将oauth2-php捆绑包一起使用,但运气不佳。该捆绑包似乎专注于三足身份验证,尽管我不太确定。我想知道最好的做法是否可能是使用 oauth2-php 包手动完成?

我将不胜感激有关此的任何信息。提前致谢!

4

1 回答 1

4

海达尔,

我目前正在从事一个类似的项目,这是我迄今为止发现的。

Oauth 是正式授权网站与网络上的其他资源,Facebook 发现整个自动化和身份验证的分离令其开发人员感到困惑,并开始将 Oauth 用于两者。自从它成为开发人员一直关注的主要参与者。

即使我不太确定您声明中的身份部分是什么意思,但您需要“身份、身份验证和授权”。

您可以将 Oauth 用于其他两个,这是从所有大型互联网公司都这样做的事实中扣除的(我可以在这方面为您做最好的事情,Oauth 文档说它仅用于授权)。

Google 提供了一个维护良好的客户端库:http ://code.google.com/p/google-api-php-client/wiki/OAuth2

此外,对于服务器端库,我会转向 oauth2-php,如您所指,在https://github.com/quizlet/oauth2-php但请参阅这篇文章了解更多详细信息:Are there OAuth 2 server side PHP or Java 实现?

在三足身份验证方面,请在此处查看答案(它确实很广泛,但解释得很好)OAuth 2.0:好处和用例——为什么?

请记住,尽管我仍在努力实现这一点。

于 2012-07-09T20:31:11.543 回答