JSONWebTokens в Скалатре

Я пытаюсь повысить безопасность своего веб-приложения, используя JWT в Scalatra. На данный момент я использую Scentry, и у меня уже определены и работают стратегии User-Password и RememberMe. Мое намерение состоит в том, чтобы изменить стратегию RememberMe, которая в настоящее время работает с файлами cookie, для аутентификации с помощью JWT.

Я нашел эту реализацию , которую я могу включить, используя расширение json4s (пример ), но я не уверен, как включить его в мой код:

  1. Могу ли я просто заменить проверки cookie на проверки JWT функциями примера?

  2. Как получить доступ к JWT?

0
задан 27.03.2016, 15:16
1 ответ

SegГєn она documentaciГіn sГіlo ты должен писать, Что твой собственный strategy, который использует trait BasicAuthStrategy

class JWTAuthStrategy(protected override val app: ScalatraBase, realm: String) extends BasicAuthStrategy[User](app, realm) {

  protected def validate(token: String): Option[User] = {
    // Aquí usar las funciones de Jwt para validar el token.
    if(Jwt.isValid(token, "secretKey", Seq(JwtAlgorithm.HS256))) Some(User("scalatra"))
    else None
  }

  protected def getUserId(user: User): String = user.id
}

, И регистрировать твою новость strategy с mГ©todo registerAuthStrategies

ты Можешь бросать глаз в этот пример: https://gist.github.com/chris-rock/9cc43202ecbd57ad1f4b#file-bearerstrategy-scala

0
ответ дан 24.11.2019, 14:41