Skip to content

Commit

Permalink
Update Elastic4play
Browse files Browse the repository at this point in the history
  • Loading branch information
To-om committed Mar 12, 2019
1 parent 1f44ba7 commit 46abf69
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion app/org/thp/cortex/services/KeyAuthSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class KeyAuthSrv @Inject() (
.filter(_.key().contains(key))
.runWith(Sink.headOption)
.flatMap {
case Some(user) userSrv.getFromUser(request, user)
case Some(user) userSrv.getFromUser(request, user, name)
case None Future.failed(AuthenticationError("Authentication failure"))
}
}
Expand Down
2 changes: 1 addition & 1 deletion app/org/thp/cortex/services/LocalAuthSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class LocalAuthSrv @Inject() (

override def authenticate(username: String, password: String)(implicit request: RequestHeader): Future[AuthContext] = {
userSrv.get(username).flatMap { user
if (doAuthenticate(user, password)) userSrv.getFromUser(request, user)
if (doAuthenticate(user, password)) userSrv.getFromUser(request, user, name)
else Future.failed(AuthenticationError("Authentication failure"))
}
}
Expand Down
14 changes: 7 additions & 7 deletions app/org/thp/cortex/services/UserSrv.scala
Original file line number Diff line number Diff line change
Expand Up @@ -63,22 +63,22 @@ class UserSrv(
cache,
ec)

private case class AuthContextImpl(userId: String, userName: String, requestId: String, roles: Seq[Role]) extends AuthContext
private case class AuthContextImpl(userId: String, userName: String, requestId: String, roles: Seq[Role], authMethod: String) extends AuthContext

private def invalidateCache(userId: String) = {
cache.remove(s"user-$userId")
cache.remove(s"user-org-$userId")
}

override def getFromId(request: RequestHeader, userId: String): Future[AuthContext] = {
get(userId).flatMap { user getFromUser(request, user) }
override def getFromId(request: RequestHeader, userId: String, authMethod: String): Future[AuthContext] = {
get(userId).flatMap { user getFromUser(request, user, authMethod) }
}

override def getFromUser(request: RequestHeader, user: org.elastic4play.services.User): Future[AuthContext] = {
override def getFromUser(request: RequestHeader, user: org.elastic4play.services.User, authMethod: String): Future[AuthContext] = {
user match {
case u: User if u.status() == UserStatus.Ok
organizationSrv.get(u.organization()).flatMap {
case o if o.status() == OrganizationStatus.Active Future.successful(AuthContextImpl(user.id, user.getUserName, Instance.getRequestId(request), user.getRoles))
case o if o.status() == OrganizationStatus.Active Future.successful(AuthContextImpl(user.id, user.getUserName, Instance.getRequestId(request), user.getRoles, authMethod))
case _ Future.failed(AuthorizationError("Your account is locked"))
}
case _ Future.failed(AuthorizationError("Your account is locked"))
Expand All @@ -89,11 +89,11 @@ class UserSrv(
override def getInitialUser(request: RequestHeader): Future[AuthContext] =
dbIndex.getSize(userModel.modelName).map {
case size if size > 0 throw AuthenticationError(s"Use of initial user is forbidden because users exist in database")
case _ AuthContextImpl("init", "", Instance.getRequestId(request), Roles.roles)
case _ AuthContextImpl("init", "", Instance.getRequestId(request), Roles.roles, "init")
}

override def inInitAuthContext[A](block: AuthContext Future[A]): Future[A] = {
val authContext = AuthContextImpl("init", "", Instance.getInternalId, Roles.roles)
val authContext = AuthContextImpl("init", "", Instance.getInternalId, Roles.roles, "init")
eventSrv.publish(StreamActor.Initialize(authContext.requestId))
block(authContext).andThen {
case _ eventSrv.publish(StreamActor.Commit(authContext.requestId))
Expand Down
2 changes: 1 addition & 1 deletion project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ object Dependencies {

val reflections = "org.reflections" % "reflections" % "0.9.11"
val zip4j = "net.lingala.zip4j" % "zip4j" % "1.3.2"
val elastic4play = "org.thehive-project" %% "elastic4play" % "1.7.2"
val elastic4play = "org.thehive-project" %% "elastic4play" % "1.9.1-SNAPSHOT"
val dockerClient = "com.spotify" % "docker-client" % "8.14.4"
}

0 comments on commit 46abf69

Please sign in to comment.