具有授权代码授权的Symfony2 Oauth2服务器,Symfony2 APIRest和Angular JS客户端

时间:2014-07-03 21:21:10

标签: angularjs rest symfony oauth-2.0 hello.js

我有什么:

-API使用friendsofsymfony / rest-bundle在Symfony2中休息,公开一些资源。

使用FOSOAuthServerBundle在Symfony2中使用

-Oauth2服务器。

- Angular.js中的客户端向API Rest发出请求。此客户端当前通过授权代码授权(使用带有自定义模块的Hello.js)登录,并有效地获取访问令牌。

我希望这些API资源安全,所以:

-On API Rest app:我实现了AuthenticationEntryPointInterface,我将其设置为security.yml中的entry_point,以便在被拒绝时返回401代码和application / json内容类型。

-Client拦截401响应并将用户发送到登录表单。

-Client发送api休息请求,并在标头上设置X-Access-Token。

我目前的问题:

1)我不确定是否应该在客户端上为请求设置X-Access-Token,我知道这是正确的方法吗?或者我应该把它全部留给hello.js api方法吗?

2)我不知道如何让API Rest应用程序“询问”oauth服务器“这个令牌好吗?它属于谁?”这已经在Symfony解决了吗?

非常感谢任何答案或指南。请随意为我所描述的内容要求任何进一步的信息或代码。

1 个答案:

答案 0 :(得分:0)

对于遇到类似问题的其他人:

1)对于登录后的客户端认证请求,我让hello.js hello(provider).api方法解决它。它将access_token作为参数发送。我没有必要在标题或任何其他“手工制作”触摸上设置X-Access-Token。

2)我没有找到symfony开箱即用的解决方案。但这就是我所做的:

- 为受保护的控制器配置了一个前置过滤器(参见doc

- 在那种方法中,我调用了OAuthServer上的API(使用this bundle