【发布时间】:2014-03-19 11:09:17
【问题描述】:
我正在构建移动后端服务。我在想,想象一下像 Authentication Service 这样的服务向购买一堆服务(逻辑上称为应用)的人提供 App key ad App secret。
假设有服务 X 、 Y 、 Z 等,还有一个 AuthService。
假设应用中没有“用户”的概念, 我想我可以通过使用应用密钥和应用机密来限制服务的 API 访问。
但是,
由于我无法在本地验证 (appkey , appsecret),因为那里和 (username , password) 一样好,所以我必须进行 AuthService 服务调用来确定 API 调用是否有效。但这会影响性能,因为对服务 X 的每次调用实际上都是 两个 服务调用。
我的问题: 应用程序通常是否经过验证? 为什么要使用 appkey 和 appsecret? 为什么没有来自应用程序的 "app token" 是自给自足的,我不必进行 AuthService 调用。您可以始终使用 Https 并避免中间人,并让 SDK 安全地存储应用令牌。
我听说过一些解决方案,例如在 X 、 Y 、 Z ... 等服务中缓存应用程序信息(app-token)并在本地进行验证。但是,一旦您掌握了我的应用程序密钥和秘密,无论我将其存储在何处,您都可以聚会,而且缓存在单个服务中也是多余的。您最终还会将授权信息存储在缓存中,该缓存可能会快速更改。缓存失效可能是个问题。 ?
请帮忙, 提前致谢。
【问题讨论】:
标签: web-services authentication sdk token mbaas