private static void SetCommenterValuesFromOpenIdResponse(IAuthenticationResponse response, Commenter commenter) { var claimsResponse = response.GetExtension<ClaimsResponse>(); if (claimsResponse != null) { if (string.IsNullOrWhiteSpace(commenter.Name) && string.IsNullOrWhiteSpace(claimsResponse.Nickname) == false) commenter.Name = claimsResponse.Nickname; else if (string.IsNullOrWhiteSpace(commenter.Name) && string.IsNullOrWhiteSpace(claimsResponse.FullName) == false) commenter.Name = claimsResponse.FullName; if (string.IsNullOrWhiteSpace(commenter.Email) && string.IsNullOrWhiteSpace(claimsResponse.Email) == false) commenter.Email = claimsResponse.Email; } var fetchResponse = response.GetExtension<FetchResponse>(); if (fetchResponse != null) // let us try from the attributes { if (string.IsNullOrWhiteSpace(commenter.Email)) commenter.Email = fetchResponse.GetAttributeValue(WellKnownAttributes.Contact.Email); if (string.IsNullOrWhiteSpace(commenter.Name)) { commenter.Name = fetchResponse.GetAttributeValue(WellKnownAttributes.Name.FullName) ?? fetchResponse.GetAttributeValue(WellKnownAttributes.Name.First) + " " + fetchResponse.GetAttributeValue(WellKnownAttributes.Name.Last); } if (string.IsNullOrWhiteSpace(commenter.Url)) { commenter.Url = fetchResponse.GetAttributeValue(WellKnownAttributes.Contact.Web.Blog) ?? fetchResponse.GetAttributeValue(WellKnownAttributes.Contact.Web.Homepage); } } }
private void ValidateCaptcha(CommentInput input, Commenter commenter) { if (Request.IsAuthenticated || (commenter != null && commenter.IsTrustedCommenter == true)) return; if (RecaptchaValidatorWrapper.Validate(ControllerContext.HttpContext)) return; ModelState.AddModelError("CaptchaNotValid", "You did not type the verification word correctly. Please try again."); }
private void SetCommenter(Commenter commenter, PostComments.Comment comment) { if (requestValues.IsAuthenticated) return; commentInput.MapPropertiesToInstance(commenter); commenter.IsTrustedCommenter = comment.IsSpam == false; if (comment.IsSpam) commenter.NumberOfSpamComments++; DocumentSession.Store(commenter); comment.CommenterId = commenter.Id; }