【问题标题】:API REST to be used for an angular application and a mobile applicationAPI REST 用于 Angular 应用程序和移动应用程序
【发布时间】:2015-10-13 13:30:09
【问题描述】:

我正在 Symfony2 中构建一个 REST API。我们的想法是从 Angular Web 应用程序和移动应用程序中使用这些 API。使用 API 需要进行身份验证。

我认为有以下几种可能:

  • 在不同的项目中分离 Symfony 和 Angular: /api 下的 URL 将使用 OAuth2 来验证用户 (FOSOAuthServerBundle)。网络和移动应用程序都需要使用访问令牌。

  • 在 Symfony 中包含 Angular:在 Web 应用程序中,用户使用 symfony 表单进行身份验证,因此无需使用 OAuth2 保护 /api 下的 url。但是如何通过移动应用对用户进行身份验证?

拜托,任何帮助都是好的!

简而言之,我需要的是可以从两个客户端使用 API:Web 应用程序和移动应用程序

谢谢!

【问题讨论】:

    标签: angularjs rest symfony


    【解决方案1】:

    我目前正在学习并遇到同样的问题,到目前为止,我见过的最佳选择是将项目分开。如果您在 Symphony 项目中包含 angularJS,您最终将使用 Symphony 提供的您无法在移动结构中复制的资源。通过将服务器与客户端完全分离,您仅使用 Angular 构建的 Web 应用程序将更类似于您的移动应用程序,模仿独立应用程序模式。

    就个人而言,我选择 JWT Auth 是因为它不需要您的数据库中有 12 个表,但使用 OAuth2 会得到类似的结果。

    【讨论】:

      【解决方案2】:

      选择一些已经为许多人测试并被他们使用的解决方案总是更好。所以,我认为你最好使用 OAuth 技术,这样你就可以从移动、网络和其他所有技术中使用你的 api。

      是否加入 API 和 WEBApp 由您决定。因为 REST 不使用会话,并且每个呼叫都是您需要检查、阻止或响应的新呼叫。我有一个应用程序在同一个项目中有一个 Codeigniter API 和一个 AngularJS 应用程序,但是 thoose 不共享任何专有的东西作为会话。

      【讨论】:

        【解决方案3】:

        我使用 FOSRestBundle、HWIOOauthBundle 和 FOSUserBundle 构建了电子商务 从服务器端,生成访问令牌并通过 api/login/ api/login_check/ 进行身份验证 编写你的 security.yml 路由访问 从客户端调用您的 api。它应该呈现 200 或 403 HTTP_Code。

        【讨论】:

          猜你喜欢
          • 2014-02-25
          • 2012-05-27
          • 1970-01-01
          • 2015-02-09
          • 2013-11-27
          • 1970-01-01
          • 1970-01-01
          • 2019-07-25
          • 2016-06-28
          相关资源
          最近更新 更多