3

我们有一个基于 Symfony2.1 的 webapp,我们正在尝试使用 OAuth 来保护一些 REST web 服务。这些 Web 服务将由 Android 应用程序使用。

我们正在尝试 FOSOAuthServerBundle,并且似乎可以验证来自其他网站的 Web 服务的使用,因为身份验证步骤完全基于 Web。

但我们需要的是下一个工作流程:

  1. 用户在应用程序中输入他的用户名和密码
  2. 然后,应用程序使用此信息自动检索有效的 Oauth 令牌。
  3. 该应用程序使用此 Oauth 令牌作为参数,同时使用 OAuth 保护的 REST Web 服务。

这可能吗?FOSOAuthServerBundle 是我们需要的 Bundle 吗?我们如何在没有用户交互的情况下检索有效的 OAuth 令牌,仅使用用户名+密码作为身份验证的参数?

非常感谢。

4

1 回答 1

5

是的,FOSOAuthServerBundle 可以为您做到这一点。只需根据OAuth 2 规范使用 Resource Owner Password Credentials Grant 即可。

这是如何添加具有不同授权类型的客户端(应用程序)的说明http://blog.logicexception.com/2012/04/securing-syfmony2-rest-service-wiith.html

可用授权类型列表:https ://github.com/FriendsOfSymfony/oauth2-php/blob/b0e57e17c84175a51af01cef7bbb2961261c84ad/lib/OAuth2.php#L230

于 2012-12-09T09:51:06.453 回答