我想在node.js
中为我的移动应用创建一个安全 API。
基本上,我希望用户能够通过该应用程序(使用电子邮件和密码)创建他们的帐户,所以我想知道哪种方法是正确的。我想像这样:
curl -d '{"email":"hello@world", "password":"1234"}' -H "Content-Type: application/json" -X POST https://myapi/users
因此,服务器将使用新创建的用户进行回复,并通过oauth常规令牌来认证下一个请求,因此:
{
id: '1234455656',
email: 'hello@world',
auth_token: 'my_auth_token'
refresh_token: 'my_refresh_token'
}
这似乎不是最好的安全方法,因为即使没有该应用程序,任何人都可以创建用户,我想知道这是应用程序通常如何处理的吗?也许还有比表达更好的东西可以做到这一点
答案 0 :(得分:2)
您不希望任何人都能创建一个帐户吗?
以下是一些想法:
为防止用户在没有应用程序的情况下创建帐户,请要求将带有注册请求的api密钥(例如在标头中)与应用程序版本捆绑在一起。
您还应该要求用户验证其电子邮件地址,并且可以清除一段时间后未验证其电子邮件地址的用户帐户。