【发布时间】:2016-04-20 12:42:54
【问题描述】:
我正在为移动应用开发私有 API。我计划使用 JSON Web 令牌保护和验证登录用户。
当用户认证并登录服务时,服务器会在响应中返回一个签名的 JWT。设备安全地存储此信息,并在每个后续请求中将其作为 HTTP 授权标头发送回。
到目前为止一切顺利。然而,我有点困惑的是:令牌是在创建帐户时为新用户生成的(即他们注册)。这个 API 端点(创建的 POST)是开放的,并且没有令牌验证(自然是因为它是新用户)。
如何确保创建新用户的 POST 请求仅获得移动应用的授权?换句话说,如果恶意用户发送 POST 来创建垃圾用户,我该如何识别呢?
API 通过 https。不过,即使我要求应用程序使用 API 密钥作为查询参数,也会将其暴露在网络上。我想我可以传入一个带有哈希 API 密钥/秘密的基本标头。
有什么方法可以安全地做到这一点?
【问题讨论】: