保护用PHP编写与OAuth2用户端凭证的REST API流(Securing a REST API

2019-07-30 06:54发布

我使用的Symfony2在PHP编写一个REST API。 这个API的目的是通过个人网站被用来访问数据,这将通过客户端库来完成。

我不过需要确保API,这被证明是一个有点混乱。 我做了一些研究,据我所知,一个好办法似乎是使用OAuth2和客户端凭证流(参见RFC草案)。 我不得不承认,我仍然对如何正是这种工作机制的细节模糊,但我一直读取它是如此简单。 我想我的第一个问题是:这是去还是我在错误的方向走注销的方式? 我应该使用验证客户一些其他的方法? 请记住,我需要身份验证和授权。

如果是的话,OAuth2用户使用客户端证书是,然后我问路:什么是PHP实现该目标的最佳方式? 有没有人真正做到了这一点? 到目前为止,我一直在尝试使用的oauth2-PHP与沿束没有太多的运气。 这束似乎集中在3条腿的认证虽然我不是很确定。 我在想,如果行动最好的办法是做手工用的oauth2-PHP包吧?

我将不胜感激这方面的消息。 提前致谢!

Answer 1:

海达尔,

我目前工作的一个类似的项目,这是我发现至今。

OAuth是正式授权在网络上的一个其它资源网站,Facebook的发现autorization和认证的全分离 - 为其开发基地混乱,并使用OAuth两种启动。 由于它的主要参与者开发商已标记上。

即使我真的不知道你的意思,在你的声明身份的一部分,你需要“的身份,身份验证和授权。”

您可以使用OAuth另外两个,一个事实,即所有大的互联网公司这样做扣除(最好我能为你做这方面的,端Oauth文档说它只用于授权)。

谷歌提供的是保持得不错的客户机库: http://code.google.com/p/google-api-php-client/wiki/OAuth2

进一步,服务器端的库我将转向的oauth2的PHP,你是指,在https://github.com/quizlet/oauth2-php但请看到这个帖子的详细信息: 是否有OAuth的2服务器端PHP或Java实现?

并在3条腿认证的一员,请在这里看到答案(这是真的,但粗放解释得很好) 的OAuth 2.0:好处和使用情况-为什么?

请记住,虽然,我仍与实际实现这个奋斗。



文章来源: Securing a REST API written in PHP with OAuth2 client credentials flow