如何保护私有移动 API 的“创建新用户”操作?
Posted
技术标签:
【中文标题】如何保护私有移动 API 的“创建新用户”操作?【英文标题】:How to protect the 'create new user' action for a private mobile API? 【发布时间】:2016-04-20 12:42:54 【问题描述】:我正在为移动应用开发私有 API。我计划使用 JSON Web 令牌保护和验证登录用户。
当用户认证并登录服务时,服务器会在响应中返回一个签名的 JWT。设备安全地存储此信息,并在每个后续请求中将其作为 HTTP 授权标头发送回。
到目前为止一切顺利。然而,我有点困惑的是:令牌是在创建帐户时为新用户生成的(即他们注册)。这个 API 端点(创建的 POST)是开放的,并且没有令牌验证(自然是因为它是新用户)。
如何确保创建新用户的 POST 请求仅获得移动应用的授权?换句话说,如果恶意用户发送 POST 来创建垃圾用户,我该如何识别呢?
API 通过 https。不过,即使我要求应用程序使用 API 密钥作为查询参数,也会将其暴露在网络上。我想我可以传入一个带有哈希 API 密钥/秘密的基本标头。
有什么方法可以安全地做到这一点?
【问题讨论】:
【参考方案1】:编辑:How to protect the 'public' part of a REST service from spam?
【讨论】:
以上是关于如何保护私有移动 API 的“创建新用户”操作?的主要内容,如果未能解决你的问题,请参考以下文章
无需对移动应用进行用户身份验证即可保护私有 REST API 的最佳方法
如何在不退出的情况下使用 Firebase API 创建新用户? [复制]