2017-03-09 9 views
0

sylius의 공식 rest-API 문서를 따랐지만 필드 사용자 [authorizationRoles]로는 사용자를 만들 수 없습니다. ROLE_USER 기본 역할이기 때문에, 나는 내가 잘못 어디 있는지 알고하지 않습니다 심지어 비슷한 게시물에서 검색하지만, 정답을 찾을 수 없습니다Sylius에서 ROLE_API_ACCESS를 사용하여 사용자를 만드는 방법은 무엇입니까?

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

    firstName = Ram 
    lastName = Thakuri 
    email = [email protected] 
    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": {} 
     } 
    } 
    } 
    } 
} 

모든 등록 된 사용자가 API 액세스 권한을 갖기 위해 OAUTH를 사용하여 액세스 토큰을 받고 싶습니다.

나는 시리우스에 초보자이므로 제발 도와주세요.

미리 감사드립니다.

답변

1

사전 준비는 할 수 없습니다. 사용하려는 엔드 포인트가 고객과 관련되어 있으므로 권한 부여 역할 설정이 제거되었습니다. 이 부분은 오래된 문서입니다. 원하는 경우 수정본으로 홍보물을 열 수 있습니다.

어쨌든 PR #7711으로 처리 할 수 ​​있지만 고객을 만들지 않는 /users/ 끝점을 통해 SyliusUsers를 관리 할 수 ​​있습니다.

Sylius\Bundle\CoreBundle\Form\Type\User\ShopUserType을 사용자 정의하고 해당 필드를 FormType에 추가하는 것이 가장 좋은 해결책입니다. 이전에 언급 한 PR을 살펴보십시오.

ShopApi는 Sylius의 실험 개념이므로,이 방법으로 사용하고자한다면 훨씬 복잡한 문제를 만날 수 있다는 점을 강조하고 싶습니다. 그것은 가능하지만 사소하지는 않습니다.