/// <summary>
        /// Assign one or more existing roles to a user.
        /// </summary>
        /// <param name="userId">Set to the id of the user to which you want to assign a role. If you don’t know the user’s id, use the Get Users API call to return all users and their id values.</param>
        /// <param name="roleIds">An array of one or more role IDs. The IDs must be positive integers.</param>
        /// <returns></returns>
        public async Task <EmptyResponse> AssignRoleToUser(int userId, IEnumerable <int> roleIds)
        {
            var request = new AssignRoleToUserRequest {
                RoleIds = roleIds.ToList()
            };

            return(await PutResource <EmptyResponse>($"{Endpoints.ONELOGIN_USERS}/{userId}/add_roles", request));
        }
        public async Task <IActionResult> AssignRoleToUser([FromBody] AssignRoleToUserRequest request)
        {
            var response = await _adminService.AssignUserToRole(request.Username, request.RoleName);

            if (!response.Succeeded)
            {
                return(BadRequest(new IdentityFailedResponse
                {
                    Errors = response.Errors
                }));
            }

            return(Ok(new IdentitySuccessResponse
            {
                Message = "Role assinged to user"
            }));
        }
Esempio n. 3
0
        public async Task AssignRoleAsync(AssignRoleToUserRequest request)
        {
            var user = await _userManager.FindByNameAsync(request.Username);

            //if (user == null)
            //{
            //    ModelState.AddModelError("", "User does not exist!");

            //    return BadRequest(ModelState);
            //}

            //if (!await _roleManager.RoleExistsAsync(request.Role))
            //{
            //    ModelState.AddModelError("", "Role does not exist!");

            //    return BadRequest(ModelState);
            //}

            await _userManager.AddToRoleAsync(user, request.Role);
        }