繁体   English   中英

使用OAuth2客户端凭据流保护用PHP编写的REST API

[英]Securing a REST API written in PHP with OAuth2 client credentials flow

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

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

如果是,使用客户端凭据的OAuth2就是这样,那么我问:在PHP中实现这一点的最佳方法是什么? 有人真的这样做过吗? 到目前为止,我一直在尝试使用oauth2-php以及没有太多运气的捆绑 虽然我不太确定,但该捆绑似乎专注于三足认证。 我想知道最好的行动方案是使用oauth2-php软件包手动吗?

我非常感谢有关这方面的任何信息。 提前致谢!

海达尔,

我目前正在开展一个类似的项目,这是我到目前为止所发现的。

Oauth正式授权一个网站上有其他资源的网站,Facebook发现整个分离的自动化和身份验证让其开发人员基础混乱,并开始使用Oauth。 因为它是开发人员一直在标记的主要参与者。

即使我不确定您在声明中对Identity部分的意思,您还需要“身份,身份验证和授权”。

你可以将Oauth用于其他两个,从所有大型互联网公司这样做的事实中扣除(我能在这方面为你做的最好,Oauth docs说它只适用于授权)。

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

更进一步,对于服务器端库,我将转向oauth2-php,如你所指,在https://github.com/quizlet/oauth2-php但是请看这篇文章了解更多细节: 是否有OAuth 2服务器端PHP或Java实现?

在三条腿的身份验证方面,请看这里的答案(它真的很广泛,但解释得很好) OAuth 2.0:好处和用例 - 为什么?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM