有一个SDK需要从移动的应用程序访问API密钥。这意味着我不能简单地从lambda端点或无服务器端点调用SDK并发送回数据。有什么安全的方法可以让移动的用户访问此API密钥而不会滥用它?我认为在手机上存储API密钥本身是一个坏主意。我的想法是简单地让用户点击一个给他们密钥的端点,但这会以某种方式被篡改吗?每个用户都需要一个JWT令牌来访问API端点(fyi)。
20jt8wwn1#
仅供参考 * 所有客户端应用程序通信和应用程序数据应被视为“不安全”的用户访问。*
1.请遵循与特定API密钥的授权和令牌访问相关的指导原则。如果它是公钥,许多提供商将允许锁定密钥,因此它只能在您的特定应用/域上使用。1.考虑你的目标用户。如果他们是授权帐户,那么创建授权+密钥通过后授权应该是合理的。1.考虑使密钥唯一,以便您可以跟踪滥用。即每个用户获得从该服务动态生成的唯一Map密钥。如果这是你的钥匙,你可以很容易地限制访问。1.您可以添加某种加密存储,例如react-native-encrypted-storage。用户登录后,存储在登录后提供给用户的密钥,然后在应用刷新时恢复。大多数应用程序将无法访问您的应用程序文件,并且使用加密存储,即使存在可以访问您的pap文件夹的应用程序,您也可以阻止轻松访问。
1条答案
按热度按时间20jt8wwn1#
仅供参考 * 所有客户端应用程序通信和应用程序数据应被视为“不安全”的用户访问。*
客户端sdk API密钥:
建议
1.请遵循与特定API密钥的授权和令牌访问相关的指导原则。如果它是公钥,许多提供商将允许锁定密钥,因此它只能在您的特定应用/域上使用。
1.考虑你的目标用户。如果他们是授权帐户,那么创建授权+密钥通过后授权应该是合理的。
1.考虑使密钥唯一,以便您可以跟踪滥用。即每个用户获得从该服务动态生成的唯一Map密钥。如果这是你的钥匙,你可以很容易地限制访问。
1.您可以添加某种加密存储,例如react-native-encrypted-storage。用户登录后,存储在登录后提供给用户的密钥,然后在应用刷新时恢复。大多数应用程序将无法访问您的应用程序文件,并且使用加密存储,即使存在可以访问您的pap文件夹的应用程序,您也可以阻止轻松访问。