Невозможно выполнить аутентификацию с существующим токеном-носителем в игре + силуэт
Я использую:
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 не запускаются.по крайней мере, точки останова не достигли