【发布时间】:2012-07-07 06:49:38
【问题描述】:
我正在使用 Symfony2 在 PHP 中编写一个 REST API。此 API 旨在供各个网站用于访问数据,这将由客户端库完成。
但是,我需要保护 API 的安全,事实证明这有点令人困惑。我已经做了一些研究,据我所知,一个好方法似乎是将 OAuth2 与客户端凭据流一起使用(请参阅 RFC 草案)。我不得不承认,我仍然不清楚它是如何工作的细节,但我一直在读它是如此简单。我想我的第一个问题是:这是要走的路还是我走错了方向?我应该使用其他方法来验证客户端吗?请记住,我需要身份、身份验证和授权。
如果是,使用客户端凭据的 OAuth2 是一种方法,那么我问:在 PHP 中实现这一目标的最佳方法是什么?有没有人真的这样做过?到目前为止,我一直在尝试使用oauth2-php 和bundle,但运气不佳。该捆绑包似乎专注于三足身份验证,尽管我不太确定。我想知道最好的做法是否可能是使用 oauth2-php 包手动完成?
我将不胜感激任何有关此的信息。提前致谢!
【问题讨论】:
-
我一直在成功使用 FOSOAuthServerBundle 和客户端凭据授予类型。你遇到了什么问题?
-
感谢您的回复。我想我对每个部分的作用和工作方式感到很困惑。据我了解,我必须创建自己的身份验证机制(API 密钥 + 机密),客户端可以使用它来登录并获得对 /oauth/v2/auth 的访问权限,并在那里获得一个令牌。一旦该令牌过期,它就可以使用刷新令牌从 /oauth/v2/token 获取新令牌。这看起来对吗?如果您对此有任何建议,我将不胜感激,很高兴知道这至少是可能的!
标签: php api rest symfony oauth-2.0