从OAuth客户端注册Symfony中的用户

时间:2014-06-18 21:07:50

标签: symfony oauth

我使用Symfony2,FOSRest& amp ;;构建REST api。 FOSUser。我刚刚使用FOSOAuthServer实现了OAuth v2服务器,但我有一些问题在Google上找不到答案:

  • 如何从OAuth客户端(即Android应用)在我的服务器上正确实施用户注册?
  • 在这种情况下是否有标准网址(如/oauth/v2/auth_signup或更宁静的地方)?
  • 此注册操作是否应受oauth服务器保护?我认为不应该这样,这意味着应该创建一个新的防火墙来排除这个网址的oauth,就像/oauth/v2/auth
  • 的情况一样。

1 个答案:

答案 0 :(得分:1)

在OAuth上下文中,您的Android APP将具有client_id,client_secret等。您可以使用client_credentials grant_type来获取此应用程序的access_token。

GET /oauth/v2/token?grant_type=client_credentials&client_id=cId&client_secret=cSecret

通过这种方式,您现在可以使用正文中的用户调用POST /api/register并注册它。此呼叫可以受到保护,但由于您使用该应用程序登录,因此您可以进行呼叫。

但您也可以创建或拥有grant_type。对于instace

GET /oauth/v2/token?grant_type=custom&client_id=cId&client_secret=cSecret&username=u&password=p

可以检查用户是否存在此用户名,如果没有则注册。