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