Exemple #1
0
        public async Task <IActionResult> AddClaim([FromRoute] string id, [FromBody] CreateClaimModel model)
        {
            if (!Valid(model, out var error))
            {
                return(error);
            }

            var role = await _roleService.FindByIdAsync(id);

            if (role?.Data == null)
            {
                return(NotFound());
            }

            var issuer = _security.Value.Tokens.Issuer;
            var claim  = new Claim(model.Type, model.Value, model.ValueType ?? ClaimValueTypes.String, issuer);
            var result = await _roleService.AddClaimAsync(role.Data, claim);

            return(result.Succeeded
                ? Created($"/api/roles/{role.Data.Id}/claims", claim)
                : (IActionResult)BadRequest(result.Errors));
        }
        public async Task <IActionResult> AddClaim([FromRoute] string id, [FromBody] CreateClaimModel model)
        {
            if (!this.TryValidateModelOrError(model, ErrorEvents.ValidationFailed,
                                              ErrorStrings.ValidationFailed, out var error))
            {
                return(error);
            }

            var role = await _roleService.FindByIdAsync(id);

            if (role?.Data == null)
            {
                return(NotFound());
            }

            var issuer = _tokenInfoProvider.Issuer;
            var claim  = new Claim(model.Type, model.Value, model.ValueType ?? ClaimValueTypes.String, issuer);
            var result = await _roleService.AddClaimAsync(role.Data, claim);

            return(result.Succeeded
                                ? Created($"/api/roles/{role.Data.Id}/claims", claim)
                                : (IActionResult)BadRequest(result.Errors));
        }