2016-02-05 7 views
15

Akka HTTP и Spray обеспечивают authenticateOAuth2 директиву, но their documentation states чтоКаков наилучший способ выполнить аутентификацию OAuth2 с помощью akka-http?

Эта директива не реализует полный протокол OAuth2, но вместо этого позволяет его реализации, путем извлечения нужного маркера из заголовков HTTP.

Я также не могу найти библиотеки, которые реализуют OAuth2 для Akka HTTP или Spray. Есть ли что-то, что мне не хватает, или это просто состояние этих библиотек прямо сейчас?

+0

На самом деле, для этого есть только несколько библиотек. Вы проверяете это? https://github.com/hasanozgan/spray-oauth или https://github.com/nulab/scala-oauth2-provider – mayacr86

+0

это провайдеры –

ответ

0

Я думаю, что самая большая проблема заключается в том, что сам OAuth2 не говорит вам, как выглядят детали реализации.

Процитирует the RFC:

Маркер может обозначать идентификатор, используемый для получения информации авторизации или может самостоятельно содержать информацию авторизации в проверке образом (то есть, маркере строки, состоящей из некоторых данных и подпись ). Дополнительные учетные данные аутентификации, которые находятся за пределами , могут потребоваться для этой цели, чтобы клиент использовал токен.

Доступ к токенам доступа может иметь разные форматы, структуры и методы использования (например, криптографические свойства) на основе требований к безопасности сервера . Атрибуты токена доступа и методы , используемые для доступа к защищенным ресурсам, выходят за рамки этой спецификации и определяются сопутствующими спецификациями, такими как [RFC6750].

Например, вы могли бы использовать JWT для подтверждения запроса или вы можете использовать маркер только в качестве идентификатора и попросить услугу кастрированного барана маркера разрешен для этого ресурса.

В зависимости от вашего провайдера OAuth2 реализация может меняться, поэтому моя догадка заключается в том, что инфраструктура может предоставить вам общую вещь (извлеките токен для вас), или ему придется реализовать все возможные реализации OAuth2, что представляется невозможным при эта точка.

Я лично использовал в прошлом pauldijou/jwt-scala, на который вы можете взглянуть.

 Смежные вопросы

  • Нет связанных вопросов^_^