想象下面的场景:处理用于扣除积分(金钱)的客户端API密钥
我已经构建了一个API和一个Web应用程序。用户将通过网络应用程序注册并获得唯一的API密钥。然后他们可以为他们的账户购买“信用”,这只是美元的1:1表示。
当用户执行API调用时,他们传入其API密钥。该密钥用于识别客户,并根据需要减去积分。
这里有一个明显的问题。如果用户从他们自己的服务器执行此调用,并且密钥保持私密状态,则一切正常。但是,我将如何处理没有自己的服务器的客户?例如,将发布了简单Android应用的用户带到Play商店,而不需要服务器,并且想要集成我的产品。关键是必须保持客户端。恶意用户可能会对应用程序进行反混淆处理,并有可能执行未经授权的API调用,使用密钥所有者的信用。
这个问题怎么解决?有什么办法来处理这种情况?