public async Task <IActionResult> GetEmployeesTask() { var users = new List <Users>(); if (User.IsInRole("HR")) { users = await _userManagerService.GetHRUsers(); } else { users = await _userManagerService.GetUsers(); } if (users == null) { return(NotFound()); } var response = new ResponseMessageHandler(); response.data = users.Select(c => new { c.Email, c.ManagedById, c.UserType }); return(Ok(response)); }
public void WithResponseModelShouldNotThrowExceptionWithCorrectResponseModel() { var handler = new ResponseMessageHandler(); MyWebApi .Handler(handler) .WithHttpRequestMessage(new HttpRequestMessage()) .ShouldReturnHttpResponseMessage() .WithResponseModel(handler.ResponseModel); }
public void WithResponseModelShouldNotThrowExceptionWithCorrectResponseModel() { var handler = new ResponseMessageHandler(); MyWebApi .Handler(handler) .WithHttpRequestMessage(new HttpRequestMessage()) .ShouldReturnHttpResponseMessage() .WithResponseModel(handler.ResponseModel); }
protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var response = await base.SendAsync(request, cancellationToken); var context = request.GetOwinContext(); return(ResponseMessageHandler != null ? ResponseMessageHandler.Invoke(context, response) : await DefaultResponseMessageHandler(context, response)); }
private void ExecuteFullAuth() { var responseHandlerObject = new GameObject(responseHandlerObjectName); responseMessageHandler = responseHandlerObject.AddComponent <ResponseMessageHandler>(); responseMessageHandler.OnResponse += HandleAuthorizationResponse; _UnityGoogleDriveIOS_PerformAuth( settings.UriSchemeClientCredentials.AuthUri, settings.UriSchemeClientCredentials.TokenUri, settings.UriSchemeClientCredentials.ClientId, Application.identifier.ToLowerInvariant() + ":/oauth2callback", settings.AccessScope); }
public async Task <ResponseMessageHandler> Login(string email, string password) { var response = new ResponseMessageHandler(); var user = await _userManager.FindByEmailAsync(email); if (user == null) { return(new ResponseMessageHandler { status = "failed" }); } var userClaims = _userManager.GetClaimsAsync(user).Result; userClaims.Add(new Claim(JwtRegisteredClaimNames.Sub, user.Email)); userClaims.Add(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())); user.Roles.ForEach(role => { userClaims.Add(new Claim("http://schemas.microsoft.com/ws/2008/06/identity/claims/role", role)); }); user.Claims.ForEach(c => { userClaims.Add(new Claim(c.Type, c.Value)); }); var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("@#bo5lterer2d!4547d7r6")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "http://teseter.co", audience: "all", claims: userClaims, expires: DateTime.Now.AddDays(1), signingCredentials: creds); string access_token = new JwtSecurityTokenHandler().WriteToken(token); response.data = access_token; response.status = "success"; response.UserId = user.Id; return(response); }
public void GenerateResponseMessage() { var content = "This is the content"; var body = new MemoryStream(Encoding.UTF8.GetBytes(content)); var statusCode = HttpStatusCode.OK; var mockedRequest = new Mock <HttpResponse>(); mockedRequest.Setup(s => s.Body).Returns(body); mockedRequest.Setup(s => s.StatusCode).Returns(200); var response = ResponseMessageHandler.ConstructResponseMessage(mockedRequest.Object); response.Body.Should().Be(content); response.StatusCode.Should().Be(statusCode); }
public async Task <IActionResult> GetMyEmployees(string id) { var users = await _userManagerService.GetMyUsers(id); if (users == null) { return(NotFound()); } var response = new ResponseMessageHandler(); response.data = users.Select(c => new { c.Email, c.ManagedById, c.UserType }); return(Ok(response)); }
public async Task <ResponseMessageHandler> AddNewUser(Users user) { try { var response = new ResponseMessageHandler(); var userExist = (await _userManager.FindByEmailAsync(user.Email)) != null; if (!userExist) { user.Roles = new List <string> { user.EmployeeType.ToString() }; var result = await _userManager.CreateAsync(user, user.PasswordHash); if (result.Succeeded) { //add role and permission if (!await _roleManager.RoleExistsAsync(user.EmployeeType.ToString())) { await _userManager.AddToRoleAsync(user, user.EmployeeType.ToString()); } else { var role = new UserRole(); role.Name = user.UserType; await _roleManager.CreateAsync(role); await _userManager.AddToRoleAsync(user, user.UserType.ToString()); } } response.status = result.Succeeded ? "success" : "failed"; var userClaims = _userManager.GetClaimsAsync(user).Result; userClaims.Add(new Claim(JwtRegisteredClaimNames.Sub, user.Email)); userClaims.Add(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())); user.Roles.ForEach(role => { userClaims.Add(new Claim("http://schemas.microsoft.com/ws/2008/06/identity/claims/role", role)); }); user.Claims.ForEach(c => { userClaims.Add(new Claim(c.Type, c.Value)); }); var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("@#bo5lterer2d!4547d7r6")); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: "http://teseter.co", audience: "all", claims: userClaims, expires: DateTime.Now.AddDays(1), signingCredentials: creds); string access_token = new JwtSecurityTokenHandler().WriteToken(token); response.data = access_token; response.status = "success"; response.UserId = user.Id; return(response); } else { response.status = "failed"; response.ErrorMessages.Add("User with the same email exist"); } return(response); } catch (Exception ex) { throw; } }