我正在为移动应用开发私有API。我计划使用JSON Web令牌保护和验证登录用户。
当用户进行身份验证并登录服务时,服务器将在响应中返回已签名的JWT。设备会安全地存储它,并在每个后续请求中将其作为HTTP授权标头发回。
到目前为止一切顺利。但是,我有点困惑的是:在创建帐户时(即他们已注册)为新用户生成令牌。此API端点(要创建的POST)已打开,并且没有令牌验证(当然,因为它是新用户)。
如何确保仅通过移动应用授权创建新用户的POST请求?换句话说,如果恶意用户发送POST以创建垃圾邮件用户,我该如何识别?
API已超过https。尽管如此,即使我要求应用程序使用API密钥作为查询参数,也会将其暴露在线上。我想我可以用散列的API密钥/秘密传入一个Basic Header。
安全地执行此操作的方法是什么?