public async Task <IActionResult> AddClaimAsync(string subject, [FromBody] ClaimValue model)
        {
            var meta = await GetMetadataAsync();

            if (!meta.UserMetadata.SupportsClaims)
            {
                return(MethodNotAllowed());
            }

            if (IsNullOrWhiteSpace(subject))
            {
                ModelState["subject.String"].Errors.Clear();
                ModelState.AddModelError("", Messages.SubjectRequired);
            }

            if (model == null)
            {
                ModelState.AddModelError("", Messages.ClaimDataRequired);
            }

            if (ModelState.IsValid)
            {
                // ReSharper disable once PossibleNullReferenceException
                var result = await service.AddUserClaimAsync(subject, model.Type, model.Value);

                if (result.IsSuccess)
                {
                    return(NoContent());
                }

                ModelState.AddErrors(result);
            }

            return(BadRequest(ModelState.ToError()));
        }