保护Symfony REST API(OAuth2?)

时间:2016-05-11 15:58:54

标签: api rest symfony oauth2 fosoauthserverbundle

我对Symfony3 REST API中的OAuth2实现(它是我正在构建的正确解决方案吗?)有点困惑。

情况如下:

  1. 在我们的应用中,我们有多个用户定义,例如:

    • 客户
    • 合作伙伴
    • 管理员

  2. 有各种“前端”应用:

    • 移动应用(仅限客户)
    • 多个网络应用(每个应用仅限用户类型),例如:

      • customer.myapp.com
      • partner.myapp.com
      • admin.myapp.com


      所有用户(客户,合作伙伴和管理员)都必须提供其凭据才能访问其应用。

  3. REST API,为每个应用程序提供功能。我打算做这样的事情:

    • api.myapp.com/customer
    • api.myapp.com/partner
    • api.myapp.com/admin
  4. 用OAuth2保护它是一个好/正确的解决方案吗?


    感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

$ token = new UsernamePasswordToken($ user,null," main",$ user-> getRoles());要获得有关如何使用的更多信息,请参阅链接:https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Security/Core/Authentication/Token/UsernamePasswordToken.php