in api/src/main/scala/com/gu/adapters/http/Authentication.scala [17:33]
def isValidKey(
authHeader: Option[String],
apiKeys: List[String]
): Either[Error, String] = {
val tokenHeader = "Bearer token="
val token = authHeader
.withFilter(_.startsWith(tokenHeader))
.map(_.stripPrefix(tokenHeader))
val tokenOrError = token match {
case Some(valid) if apiKeys.contains(valid) => Right(valid)
case Some(_) => Left("Invalid access token provided")
case None => Left("No access token in request")
}
tokenOrError.leftMap(error => tokenAuthorizationFailed(List(error)))
}