Вы здесь

Почему при использовании собственного провайдера аутентификации код в applies методе выполняется для всех запросов?

0

Собственно сабж.
Сгенерировал через консоль провайдера аутентификации generate:authentication:provider (gap)

Вот код метода applies()

/**
   * Checks whether suitable authentication credentials are on the request.
   *
   * @param \Symfony\Component\HttpFoundation\Request $request
   *   The request object.
   *
   * @return bool
   *   TRUE if authentication credentials suitable for this provider are on the
   *   request, FALSE otherwise.
   */
  public function applies(Request $request) {
    // If you return TRUE and the method Authentication logic fails,
    // you will get out from Drupal navigation if you are logged in.    
    return !empty($request->headers->get('Y-Client-Auth'));
  }

Установлен REST UI, для одного из ресурсов выставил в качестве метода аутентификации собственный.

И несмотря на то, что провайдер кастомный активен только для одного ресурса, видно, что код выполняется при запросе, не связанном с ресурсом.

Откуда такое поведение?

Если взять и возвращать истину без каких-либо проверок
return true;
видно, что все запросы идут через этого провайдера.

Версия Drupal: 
8.x
Вопрос задан 27.05.2017 - 14:14

Ответы