【问题标题】:Symfony2 Oauth2 Server with authorization code grant, Symfony2 APIRest and Angular JS clientSymfony2 Oauth2 服务器,授权码授权,Symfony API Rest 和 Angular JS 客户端
【发布时间】:2014-07-05 12:10:12
【问题描述】:

我有什么:

-Symfony2 中的 API Rest 使用 friendsofsymfony/rest-bundle 暴露一些资源。

-Symfony2 中的Oauth2 服务器使用FOSOAuthServerBundle

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

我希望这些 API 资源得到保护,所以:

-在 API Rest 应用程序上:我实现了我在 security.yml 中设置为 entry_point 的 AuthenticationEntryPointInterface,以在被拒绝时返回 401 代码和 application/json 内容类型。

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

-Client 发送带有 X-Access-Token 的 API 休息请求。

我目前的问题:

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

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

非常感谢您的任何回答或指导。对于我所描述的内容,请随意要求任何进一步的信息或代码。

【问题讨论】:

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


    【解决方案1】:

    对于其他面临类似问题的人:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 2018-09-26
      • 2018-09-06
      • 2020-06-23
      • 2013-08-23
      • 1970-01-01
      相关资源
      最近更新 更多