Skip to content

Commit

Permalink
Merge pull request #53 from ing-bank/feature/keycloak-service
Browse files Browse the repository at this point in the history
add keycloak service to insert a user
  • Loading branch information
kr7ysztof committed Aug 28, 2020
2 parents aceae84 + e90daed commit 6dbafde
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion src/main/scala/com/ing/wbaa/rokku/sts/api/AdminApi.scala
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ trait AdminApi extends LazyLogging with Encryption with JwtToken {
protected[this] def stsSettings: StsSettings

val adminRoutes: Route = pathPrefix("admin") {
listAllNPAs ~ addNPA ~ addServiceNPA ~ setAccountStatus ~ insertUserToKeycloak
listAllNPAs ~ addNPA ~ addServiceNPA ~ setAccountStatus ~ insertServiceUserToKeycloak ~ insertUserToKeycloak
}

case class ResponseMessage(code: String, message: String, target: String)
Expand Down Expand Up @@ -164,4 +164,23 @@ trait AdminApi extends LazyLogging with Encryption with JwtToken {
}
}
}

def insertServiceUserToKeycloak: Route = logRequestResult("debug") {
post {
path("service" / "keycloak" / "user") {
formFields((Symbol("username"))) { username =>
headerValueByName("Authorization") { bearerToken =>
if (verifyInternalToken(bearerToken)) {
onComplete(insertUserToKeycloak(UserName(username))) {
case Success(_) => complete(ResponseMessage(s"Add user ok", s"$username added", "keycloak"))
case Failure(ex) => complete(ResponseMessage(s"Add user error", ex.getMessage, "keycloak"))
}
} else {
reject(AuthorizationFailedRejection)
}
}
}
}
}
}
}

0 comments on commit 6dbafde

Please sign in to comment.