Akka http基本认证类型不匹配

时间:2017-11-03 05:10:45

标签: scala akka-http

我正在尝试通过执行以下操作,使用akka http 10.0.10将基本身份验证添加到路线中:

def myUserPassAuthenticator(credentials: Credentials): Option[String] =
  credentials match {
    case p @ Credentials.Provided(id) if p.verify("p4ssw0rd") => Some(id)
    case _ => None
  }

val routes: Route =
  pathPrefix("foo") {
    authenticateBasic(realm = "secure site", myUserPassAuthenticator) { user =>
      path("bar") {
        pathEndOrSingleSlash {
          complete("bla")
        }
      }
    }
  }

此编译,但IDEA显示以下错误:

Type mismatch, expected L => server.Route, actual String => server.Route

另外加载localhost:9000 / foo / bar会返回404.任何人都可以帮助我理解为什么会这样以及如何正确构建这些指令?

1 个答案:

答案 0 :(得分:1)

就akka http而言,上面的剪辑是正确的,现在工作正常。我的问题来自于在指令层次结构中更高的手动滚动CORS指令,该指令未正确实现。

奇怪的是,IDEA仍在抱怨类型不匹配。