FriendsOfSymfony / FOSOAuthServerBundle не установить имя пользователя - PullRequest
0 голосов
/ 23 января 2019

Назначение пользователя токенам не работает в системе Symfony 4 & FOSOAuthServerBundle, которую я сейчас использую.

Я понимаю управление токеном на контроллере и использую FOSUserBundle для проверки пользователя.

Я проверю userdata с контроллером и другим файлом.

в Security.yml

security:
 encoders:
  FOS\UserBundle\Model\UserInterface: bcrypt

providers:
 fos_userbundle:
  id: fos_user.user_provider.username

firewalls:
 api:
  pattern:    ^/api/v2
  fos_oauth:  true
  stateless:  true

oauth_token:
  pattern:    ^/oauth/v2/token
  security:   false

main:
  pattern: ^/
  form_login:
    provider: fos_userbundle
    csrf_token_generator: security.csrf.token_manager
  logout:       true
  anonymous:    false

oauth_authorize:
  pattern: ^/oauth/v2/auth
  form_login:
    provider: fos_userbundle
    check_path: /oauth/v2/auth_login_check
    login_path: /oauth/v2/auth_login
  anonymous: true

access_control:
 - { path: ^/api, roles: [ IS_AUTHENTICATED_FULLY ] }

ПОЛУЧИТЬ ОТВЕТ НА АВТОМОБИЛЬ

    // http://localhost:8000/oauth/v2/token?client_id=CLIENT_ID&client_secret=SECRET&grant_type=password&username=username&password=password

{
 "access_token":"Token",
 "expires_in": 3600,
 "token_type": "bearer",
 "scope": null,
 "refresh_token":"Token"
  }

Контроллер

/**
 * @param Request $request
 * @Route("/Task")
 * @return Response
 */
public function getData(Request $request):Response
{
  return $this->json( $this->get("security.token_storage")->getToken());
}

Результат выглядит следующим образом:

{
 "token": "Token",
 "credentials": "Token",
 "roles": [

  ],
 "username": "",
 "user": null,
 "authenticated": true,
 "attributes": [

   ]
  }

Пожалуйста, помогите мне в этом.

...