public async virtual Task <ActionResult> VerifyPackageKeyAsync(string id, string version) { var user = GetCurrentUser(); var credential = GetCurrentCredential(user); var result = VerifyPackageKeyInternal(user, credential, id, version); // Expire and delete verification key after first use to avoid growing the database tables. if (CredentialTypes.IsPackageVerificationApiKey(credential.Type)) { await AuthenticationService.RemoveCredential(user, credential); } TelemetryService.TrackVerifyPackageKeyEvent(id, version, user, User.Identity, result?.StatusCode ?? 200); return((ActionResult)result ?? new EmptyResult()); }
public async virtual Task <ActionResult> VerifyPackageKeyAsync(string id, string version) { var policyResult = await SecurityPolicyService.EvaluateAsync(SecurityPolicyAction.PackageVerify, HttpContext); if (!policyResult.Success) { return(new HttpStatusCodeWithBodyResult(HttpStatusCode.BadRequest, policyResult.ErrorMessage)); } var user = GetCurrentUser(); var credential = user.GetCurrentApiKeyCredential(User.Identity); var result = await VerifyPackageKeyInternalAsync(user, credential, id, version); // Expire and delete verification key after first use to avoid growing the database tables. if (CredentialTypes.IsPackageVerificationApiKey(credential.Type)) { await AuthenticationService.RemoveCredential(user, credential); } TelemetryService.TrackVerifyPackageKeyEvent(id, version, user, User.Identity, result?.StatusCode ?? 200); return((ActionResult)result ?? new EmptyResult()); }