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

时间:2012-11-29 11:37:00

标签: 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服务。
  4. 这可能吗? FOSOAuthServerBundle是我们需要的Bundle吗?我们如何才能检索有效的OAuth令牌而无需用户交互,只能使用用户名+密码作为身份验证的参数?

    非常感谢。

1 个答案:

答案 0 :(得分:5)

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

以下是如何使用不同的授权类型http://blog.logicexception.com/2012/04/securing-syfmony2-rest-service-wiith.html

添加客户端(app)的说明

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