api - 移动后端API key 的安全性

标签 api security mobile api-key

假设我正在开发一个移动应用程序,该应用程序可以调用API服务器。 API服务器由API key 保护。

我无法在移动应用程序内部对API key 进行硬编码,因为它可能被盗。

如何保护API key ?

最佳答案

How is that problem usually solved?



(这听起来像您要保护的API key 是您不拥有的API服务的。)

一种方法是使用身份验证服务器。专用API key 保留在身份验证服务器上,并且只有在有效登录后才能共享。

那么这是如何工作的呢?
  • 移动客户端上的用户输入登录名和密码
  • 这些凭据将发送到身份验证服务器,在此处对其进行验证
  • 如果登录名有效,则将API key 发送到移动客户端

  • 从体系结构上讲,您将需要一个单独的身份验证服务器,这将使您拥有2个不同的服务器:
  • 一些API key 服务器,您需要一个专用API key 才能使用
  • 身份验证服务器(用于验证用户登录并交换专用API key )

  • enter image description here

    第二种方法是使用直通服务器。私有(private)API key 永远不会以这种方式共享。可以将身份验证添加到直通服务器上,但不是必需的。

    那么这是如何工作的呢?
  • 移动用户联系直通服务器以获取来自API
  • 的数据
  • 直通服务器进行apit调用(使用存储的私有(private)API key )
  • API服务器用数据响应直通服务器
  • 直通服务器将API响应转发到移动应用程序

  • enter image description here

    在这种情况下,您拥有直通服务器,因此您无需共享API key ,并且用户身份验证是可选的。

    关于api - 移动后端API key 的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55394495/

    相关文章:

    security - 我是否必须将我的盐与我的散列放在同一列中?

    linux 上的 java - 隐藏 ssl.keyStorePassword

    javascript - 阻止移动网页上的设备旋转

    java - Java中如何设置图标显示在最右边

    javascript - 使用 Whatsapp API 进行 Chrome 扩展程序开发

    api - 如何保护私有(private) REST API

    security - bcrypt 如何跟上摩尔定律?

    css - 图像覆盖移动设备上的文本

    c++ - 作为 C++ 库 API 一部分的第三方类型和潜在的 ABI 不一致

    javascript - React fetch, “credentials: include” 中断了我的整个请求,我得到了一个错误