in app/logic/Passkey.scala [241:280]
def verifiedAuthentication(
appHost: String,
challenge: Challenge,
authenticationData: AuthenticationData,
credentialRecord: CredentialRecord
): Try[AuthenticationData] =
Try {
val authParams = new AuthenticationParameters(
new ServerProperty(
Origin.create(appHost),
URI.create(appHost).getHost,
challenge
),
credentialRecord,
List(authenticationData.getCredentialId).asJava,
userVerificationRequired
)
webAuthnManager.verify(authenticationData, authParams)
}.recoverWith {
case err: VerificationException =>
Failure(
JanusException(
userMessage = "Authentication verification failed",
engineerMessage =
s"Authentication verification failed: ${err.getMessage}",
httpCode = UNAUTHORIZED,
causedBy = Some(err)
)
)
case err =>
Failure(
JanusException(
userMessage = "Bad arguments for authentication verification",
engineerMessage =
s"Bad arguments for authentication verification: ${err.getMessage}",
httpCode = BAD_REQUEST,
causedBy = Some(err)
)
)
}