mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-03-19 15:55:42 +01:00
Updated external user service to return email. The email is a new identifier.
This commit is contained in:
@@ -5,12 +5,18 @@ import play.api.libs.ws.{WS, WSClient}
|
||||
|
||||
import scala.concurrent.{Future, ExecutionContext}
|
||||
|
||||
case class LoginResponse(error: Option[String], email: Option[String])
|
||||
|
||||
class ExternalCredentialsVerificationService(url: String)(implicit executionContext: ExecutionContext, wSClient: WSClient) extends CredentialsVerificationService{
|
||||
override def verifyCredentials(username: String, password: String): Future[Boolean] = {
|
||||
|
||||
private implicit val loginResponseFormat = Json.format[LoginResponse]
|
||||
|
||||
override def verifyCredentials(username: String, password: String): Future[Either[String, String]] = {
|
||||
WS.clientUrl(url).post(Json.toJson(Map("username" -> username, "password" -> password))).map{ response =>
|
||||
response.body match {
|
||||
case "OK" => true
|
||||
case "bad" => false
|
||||
val loginResponse = loginResponseFormat.reads(response.json).get
|
||||
loginResponse.error match {
|
||||
case Some(err) => Left(err)
|
||||
case None => Right(loginResponse.email.get)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user