Я думаю, что самая большая проблема заключается в том, что сам OAuth2 не говорит вам, как выглядят детали реализации.
Процитирует the RFC:
Маркер может обозначать идентификатор, используемый для получения информации авторизации или может самостоятельно содержать информацию авторизации в проверке образом (то есть, маркере строки, состоящей из некоторых данных и подпись ). Дополнительные учетные данные аутентификации, которые находятся за пределами , могут потребоваться для этой цели, чтобы клиент использовал токен.
Доступ к токенам доступа может иметь разные форматы, структуры и методы использования (например, криптографические свойства) на основе требований к безопасности сервера . Атрибуты токена доступа и методы , используемые для доступа к защищенным ресурсам, выходят за рамки этой спецификации и определяются сопутствующими спецификациями, такими как [RFC6750].
Например, вы могли бы использовать JWT для подтверждения запроса или вы можете использовать маркер только в качестве идентификатора и попросить услугу кастрированного барана маркера разрешен для этого ресурса.
В зависимости от вашего провайдера OAuth2 реализация может меняться, поэтому моя догадка заключается в том, что инфраструктура может предоставить вам общую вещь (извлеките токен для вас), или ему придется реализовать все возможные реализации OAuth2, что представляется невозможным при эта точка.
Я лично использовал в прошлом pauldijou/jwt-scala, на который вы можете взглянуть.
На самом деле, для этого есть только несколько библиотек. Вы проверяете это? https://github.com/hasanozgan/spray-oauth или https://github.com/nulab/scala-oauth2-provider – mayacr86
это провайдеры –