【问题标题】:PHP/CodeIgniter as middleware for mobile apps and websitePHP/CodeIgniter 作为移动应用和网站的中间件
【发布时间】:2016-03-16 14:52:59
【问题描述】:

我计划使用 Codeigniter (3.0.5) 创建一个网站和一个网络服务。该网络服务将向网站提供数据。

但将来我会使用现有的网络服务作为数据源创建一个移动应用程序。

此网络服务将在来自网站/移动应用程序的每个请求中提供 JSON 响应。

我的问题:

  1. 由于网站将在 curl/browser-less 中访问 Web 服务,因此会话将无法工作。我如何验证/保持当前访问网站/移动应用的现有用户?

想象的答案: 每次用户进行身份验证时,Web 服务是否应该为网站创建某种具有到期时间的会话/用户密钥,并且必须将密钥从网站发送回网络- 为每个请求提供服务?

  1. 我希望只能从我的网站和移动应用程序访问网络服务。

想象的答案: 创建 API/网络服务密钥。网站/移动应用程序必须同时发送我上面提到的 API 密钥和会话/用户密钥。但据我所知,API 密钥不应该存储在移动应用程序中。如何保证 api 密钥的安全?

【问题讨论】:

  • 尝试对 oAuth 进行一些研究...听起来这就是您所需要的。
  • @mituw16 谢谢。我可以将网站和移动应用程序称为消费者,将网络服务称为服务提供商吗?我应该选择哪个oauth?这个页面让我很困惑hueniverse.com/oauth
  • 一个想法是让您的移动应用程序随每个 API 请求发送登录凭据。在 CodeIgniter 中,您可以扩展 CI_Controller 以适应来自移动应用程序的每个请求的凭据验证。
  • 谢谢你们……看来我通过这个页面了解了如何使用和实现oauth:bshaffer.github.io/oauth2-server-php-docs/cookbook现在我只需要正确实现oauth。

标签: php web-services codeigniter mobile


【解决方案1】:

这个问题发布将近一年后!

我不再关注 oauth,因为我并不真正了解实现。但是经过重新搜索,显然 JWT (JSON Web Token) 是我的情况的最佳解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 2017-12-13
    • 2023-03-19
    • 2015-02-15
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    相关资源
    最近更新 更多