BearerToken auth в силуэт не работает - PullRequest
0 голосов
/ 18 ноября 2018

Невозможно выполнить аутентификацию с существующим токеном-носителем в игре + силуэт

Я использую:

trait BTEnv extends Env {
  type I = User
  type A = BearerTokenAuthenticator
}

код контроллера:

class RestController @Inject() (
  components: ControllerComponents,
  silhouette: Silhouette[BTEnv],
  socialProviderRegistry: SocialProviderRegistry
)(
  implicit
  ex: ExecutionContext
) extends AbstractController(components) with I18nSupport with Logger {

  def secured = silhouette.SecuredAction(WithProvider[BTEnv#A](CustomProvider.ID)) { implicit request: SecuredRequest[BTEnv, AnyContent] =>

    Ok("42")
  }

  def unsecured = silhouette.UnsecuredAction.async {
    implicit request: Request[AnyContent] => Future.successful(Ok("420"))
  }

}

Суть для настраиваемого поставщика:

https://gist.github.com/iOgre/02a4ed1eff9656e8f9bc57baf0c36d14

сущность для силуэта модуля

https://gist.github.com/iOgre/99222d040461e699146397ae6bd075f3

Я получил токен доступа, полученный от сервера идентификации, и использую его при запросе конечной точки (def secured ... в предоставленном коде контроллера)

Я передаю токен как: authorization: Bearer {my-token-here} и запрос возвращает неавторизованный и перенаправляет на предопределенный URL, но я не могу найти, где в кодеПроисходит разбор и проверка токенов

Я провел некоторую отладку, но ни метод isAuthorized в классе case WithProvider, ни функции auth в иерархии классов CustomProvider не запускаются.по крайней мере, точки останова не достигли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...