Symfony2 + FOSOAuthServerBundle:无浏览器的初始身份验证

Dav*_*eFX 3 symfony oauth-2.0 symfony-2.1

我们有一个关于Symfony2.1的webapp,我们正试图通过使用OAuth来安装一些REST Web服务.这些Web服务将由Android应用程序使用.

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

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

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

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

非常感谢.

Ale*_*zov 5

是的,FOSOAuthServerBundle可以为您做到这一点.只需根据OAuth 2规范使用资源所有者密码凭据授予.

以下是如何使用不同的授权类型添加客户端(app)的说明http://blog.logicexception.com/2012/04/securing-syfmony2-rest-service-wiith.html

可用的拨款类型清单:https://github.com/FriendsOfSymfony/oauth2-php/blob/b0e57e17c84175a51af01cef7bbb2961261c84ad/lib/OAuth2.php#L230