【问题标题】:How to create user with ROLE_API_ACCESS in Sylius?如何在 Sylius 中使用 ROLE_API_ACCESS 创建用户?
【发布时间】:2017-07-30 02:35:38
【问题描述】:

我遵循了 sylius 的官方 rest-api 文档,但无法使用字段 user[authorizationRoles] 创建用户。由于 role_user 是默认角色,我提供了像这样的文档中提到的角色数组

    POST http://localhost:8000/api/customers/

    firstName = Ram
    lastName = Thakuri
    email = ram@yahoo.com
    gender = m
    user[plainPassword] = ******
    user[authorizationRoles] = [ROLE_API_ACCESS]

我什至搜索过类似的帖子,但找不到正确答案,不知道我错在哪里,但收到验证失败消息和错误如下(我正在使用 POSTMAN)。

{
  "code": 400,
  "message": "Validation Failed",
  "errors": {
    "errors": [
       "This form should not contain extra fields."
     ],
    "children": {
    "firstName": {},
    "lastName": {},
    "email": {},
    "birthday": {},
    "gender": {},
    "phoneNumber": {},
    "subscribedToNewsletter": {},
    "group": {},
    "user": {
      "children": {
        "plainPassword": {},
        "enabled": {}
      }
    }
   }
  }
}

我想使用 OAUTH 接收访问令牌,让每个注册用户都拥有 api 访问权限。

我是 sylius 的新手,所以请帮我解决这个问题。

提前致谢

【问题讨论】:

    标签: oauth-2.0 symfony user-roles sylius


    【解决方案1】:

    您无法开箱即用。您尝试使用的端点与客户相关,因此已删除设置授权角色。这部分文档已过时。如果需要,您可以打开带有修复程序的 PR :)

    无论如何,可以使用PR #7711 来管理 SyliusUsers,但通过/users/ 端点将不会创建客户。

    对您来说最好的解决方案是自定义 Sylius\Bundle\CoreBundle\Form\Type\User\ShopUserType 并将该字段添加到 FormType。看看我之前提到的 PR 就知道了。

    作为一个警告,我想强调一下,ShopApi 是 Sylius 的一个实验性概念,所以如果你想以这种方式使用它,你可能会遇到很多更复杂的问题。这是可行的,但不是微不足道的。

    【讨论】:

      猜你喜欢
      • 2015-09-24
      • 1970-01-01
      • 2014-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      相关资源
      最近更新 更多