Php RESTAPI中的用户注册

Php RESTAPI中的用户注册,php,web-services,restful-authentication,Php,Web Services,Restful Authentication,我有一个PHP web应用程序,我想让多个客户端都可以访问它。所以,我想让它更像一个API。我的问题是:如何处理使用API创建新用户的问题?如果我有一个像这样的URL,它接受新用户的详细信息,并通过POST请求创建新用户,那么人们可能会误用它并很容易创建假用户,这难道不是一个问题吗?我建议只允许API中使用开放id,因为很难在其中实现防机器人攻击的方案(captcha…) 无论如何,即使是开放id也不是API中的一个好主意。您确定需要通过API进行注册吗?您需要做的是使用类似OAuth的东西来验

我有一个PHP web应用程序,我想让多个客户端都可以访问它。所以,我想让它更像一个API。我的问题是:如何处理使用API创建新用户的问题?如果我有一个像这样的URL,它接受新用户的详细信息,并通过POST请求创建新用户,那么人们可能会误用它并很容易创建假用户,这难道不是一个问题吗?

我建议只允许API中使用开放id,因为很难在其中实现防机器人攻击的方案(captcha…)


无论如何,即使是开放id也不是API中的一个好主意。您确定需要通过API进行注册吗?

您需要做的是使用类似OAuth的东西来验证从注册的“应用程序”访问您的系统的权限。然后,客户端可以注册访问并接收令牌密钥和密码。然后他们可以使用这些东西来创建访问令牌的请求。双方都使用该秘密对令牌进行签名,然后可以使用加密的访问令牌访问API。您的服务器使用只有您和授权客户端才能拥有的秘密来验证传入令牌。现在它是安全的。

我真的不明白你所说的“因为很难在其中实施防僵尸程序方案(验证码…)”是什么意思。如果我没有在API中注册,我如何在多个客户端上创建新用户,比如说一个Android应用程序……但是你打算编写Android应用程序吗?如果是,则应独立于API进行注册,如果不是,则应向应用程序发送一些挑战,以验证其是否是用户而不是机器人。验证码就好了。但这并不明智,我认为,自己为每个客户端编写注册会更灵活、更可控。不,我不打算编写android应用程序等。它们将由其他人编写。我只开发API。验证码听起来是一个很好的概念。我想使用一个基于令牌的系统,非常类似于Twitter(Twitter不用于不注册),应用程序首先要求使用某种形式的凭证令牌。然而,我要寻找的是一个Android/iPhone应用程序的示例实现。如果有这么多的应用程序已经在这样做了,那么认为已经有了一个既定的解决方案就更有意义了,这是我找不到的。