我目前正在尝试使用我的Symfony2应用程序设置FOSOAuthServerBundle。 一切似乎都是设置和功能,无论如何我在安装后卡住了。 使用URL获取access_token的正确工作流程是什么?
我试过/ oauth / v2 / auth,但听起来我需要先定义一个Client对象。
如何创建/生成客户端?客户端总是应该手动创建?
FOSOAuthServerBundle doc很棒,但似乎跳过了所有使用工作流程。我应该检查OAuth2文档吗?
谢谢!
答案 0 :(得分:2)
简而言之,是的。您应该使用oAuth2 RFC来确定要使用的工作流程。关于客户注册,RFC明确规定客户注册的方式超出了规范的范围(http://tools.ietf.org/html/rfc6749#section-2)。
话虽如此,我可以让你深入了解我是如何做到这一点的。我的应用程序是一个手机应用程序,连接到各种服务器上运行的多个服务。我也在使用Resource Owner Password Credentials Grant
。
我接近这个的方式是:当应用程序加载时,它首先做的是检查它是否有oAuth2 client id
。如果没有,那么它会发送到我用我需要的元数据设置的创建客户端端点。端点验证POST,创建客户端并返回客户端信息。应用程序存储客户端ID,并且下次不必重复该过程。
当用户在应用程序中创建帐户时,我本可以创建oAuth2客户端,但我想尽快进行注册过程。创建客户端会为流程增加一些额外的等待时间。
答案 1 :(得分:0)
请检查:http://blog.logicexception.com/2012/04/securing-syfmony2-rest-service-wiith.html
转换为Doctrine非常简单,无论你是否使用它。
有一个命令行可以完全满足您的需求:创建客户端!