【发布时间】:2016-03-16 14:52:59
【问题描述】:
我计划使用 Codeigniter (3.0.5) 创建一个网站和一个网络服务。该网络服务将向网站提供数据。
但将来我会使用现有的网络服务作为数据源创建一个移动应用程序。
此网络服务将在来自网站/移动应用程序的每个请求中提供 JSON 响应。
我的问题:
- 由于网站将在 curl/browser-less 中访问 Web 服务,因此会话将无法工作。我如何验证/保持当前访问网站/移动应用的现有用户?
想象的答案: 每次用户进行身份验证时,Web 服务是否应该为网站创建某种具有到期时间的会话/用户密钥,并且必须将密钥从网站发送回网络- 为每个请求提供服务?
- 我希望只能从我的网站和移动应用程序访问网络服务。
想象的答案: 创建 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