def extractCredential()

in app/aws/PasskeyDB.scala [120:175]


  def extractCredential(
      response: GetItemResponse,
      user: UserIdentity
  ): Try[CredentialRecord] = {
    if (response.hasItem) {
      Try {
        val item = response.item()
        val attestationStmt = objConverter.getCborConverter.readValue(
          Base64UrlUtil.decode(item.get("attestationStatement").s()),
          classOf[NoneAttestationStatement]
        )
        val counter = item.get("authCounter").n().toLong
        val credentialData = credentialDataConverter.convert(
          Base64UrlUtil.decode(item.get("credential").s())
        )
        val authExts = objConverter.getCborConverter.readValue(
          Base64UrlUtil.decode(item.get("authenticatorExtensions").s()),
          classOf[AuthenticationExtensionsAuthenticatorOutputs[
            RegistrationExtensionAuthenticatorOutput
          ]]
        )
        new CredentialRecordImpl(
          attestationStmt,
          null,
          null,
          null,
          counter,
          credentialData,
          authExts,
          null,
          null,
          null
        )
      }.recoverWith(err =>
        Failure(
          JanusException(
            userMessage = "Invalid registered passkey",
            engineerMessage =
              s"Failed to extract credential data for user ${user.username}: ${err.getMessage}",
            httpCode = INTERNAL_SERVER_ERROR,
            causedBy = Some(err)
          )
        )
      )
    } else {
      Failure(
        JanusException(
          userMessage = "Failed to find registered passkey",
          engineerMessage =
            s"Credential data not found for user ${user.username}: GetItem response: $response",
          httpCode = INTERNAL_SERVER_ERROR,
          causedBy = None
        )
      )
    }
  }