FOSOAuthServerBundle创建客户端

时间:2013-02-01 18:42:12

标签: rest symfony oauth-2.0

我目前正在尝试使用我的Symfony2应用程序设置FOSOAuthServerBundle。 一切似乎都是设置和功能,无论如何我在安装后卡住了。 使用URL获取access_token的正确工作流程是什么?

我试过/ oauth / v2 / auth,但听起来我需要先定义一个Client对象。

如何创建/生成客户端?客户端总是应该手动创建?

FOSOAuthServerBundle doc很棒,但似乎跳过了所有使用工作流程。我应该检查OAuth2文档吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

简而言之,是的。您应该使用oAuth2 RFC来确定要使用的工作流程。关于客户注册,RFC明确规定客户注册的方式超出了规范的范围(http://tools.ietf.org/html/rfc6749#section-2)。

话虽如此,我可以让你深入了解我是如何做到这一点的。我的应用程序是一个手机应用程序,连接到各种服务器上运行的多个服务。我也在使用Resource Owner Password Credentials Grant

我接近这个的方式是:当应用程序加载时,它首先做的是检查它是否有oAuth2 client id。如果没有,那么它会发送到我用我需要的元数据设置的创建客户端端点。端点验证POST,创建客户端并返回客户端信息。应用程序存储客户端ID,并且下次不必重复该过程。

  1. 应用程序加载;
  2. 应用程序检查oAuth2客户端ID;
  3. 如果有,则流程结束;
  4. 如果没有,则会发布到http://www.example.com/client;
  5. 如果我们获得200,请存储oAuth2客户端ID。
  6. 当用户在应用程序中创建帐户时,我本可以创建oAuth2客户端,但我想尽快进行注册过程。创建客户端会为流程增加一些额外的等待时间。

答案 1 :(得分:0)

请检查:http://blog.logicexception.com/2012/04/securing-syfmony2-rest-service-wiith.html

转换为Doctrine非常简单,无论你是否使用它。

有一个命令行可以完全满足您的需求:创建客户端!