private async Task GetInformationRRHH(IDialogContext context, IAwaitable <string> result) { var answer = await result; user.Password = answer; try { PeopeAppService searchService = new PeopeAppService(); login = await searchService.Autenticate(user); login.Nombres = "Juan Perez Perez"; if (login.Result) { var message = context.MakeMessage(); message.Attachments = new List <Attachment>(); message.AttachmentLayout = AttachmentLayoutTypes.Carousel; message.Attachments.Add(SettingsCardDialog.CardRRHH().ToAttachment()); message.Text = $"Hola, " + login.Nombres + " estas en la sección Recursos Humanos"; await context.PostAsync(message); context.Wait(MessageRecievedAsync); } else { await context.PostAsync(string.Format(CultureInfo.CurrentCulture, "Los datos ingresados no son correctos. Por favor intente de nuevo", user.UserOrEmailAdrees)); PromptDialog.Text(context, ResumePeopleUserName, "Por favor, ingrese el usuario con el cual inicia sesión en su computador:"); } } catch (Exception e) { Debug.WriteLine($"Error when searching for people: {e.Message}"); } }
public async Task <Holiday> GetRRHHHolidays(ResultAutenticate input) { using (var httpClient = new HttpClient()) { httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "THIS TOKEN"); httpClient.BaseAddress = new Uri(UrlApiBritanico); var response = await httpClient.GetAsync("api/vacaciones/consultar?codigo=" + input.Codigo); var resultContent = response.Content.ReadAsStringAsync().Result; return(JsonConvert.DeserializeObject <Holiday>(resultContent)); } }
private string CreateToken(ClaimsIdentity identity, ResultAutenticate result, JwtSecurityTokenHandler handler) { var securityToken = handler.CreateToken(new Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor() { Issuer = _tokenConfiguration.Issuer, Audience = _tokenConfiguration.Audience, SigningCredentials = _signConfiguration.Credentials, Subject = identity, NotBefore = result.DateCreated, Expires = result.DateExpiration }); var token = handler.WriteToken(securityToken); return(token); }
private async Task GetInformationRRHH(IDialogContext context, IAwaitable <string> result) { var answer = await result; try { PeopeAppService searchService = new PeopeAppService(); user.Password = answer; login = await searchService.Autenticate(user); Session.Result = login.Result; Session.Codigo = login.Codigo; Session.Nombre = login.Nombres; Session.Expiration = DateTime.UtcNow; if (Session.Result) { var message = context.MakeMessage(); message.Attachments = new List <Attachment>(); message.AttachmentLayout = AttachmentLayoutTypes.Carousel; message.Attachments.Add(SettingsCardDialog.CardRRHH().ToAttachment()); message.Text = $"Hola, " + Session.Nombre; await context.PostAsync(message); context.Wait(MessageRecievedAsync); } else { await context.PostAsync(string.Format(CultureInfo.CurrentCulture, "Tus datos no son correctos. Por favor intenta nuevamente", user.UserOrEmailAdrees)); PromptDialog.Text(context, ResumePeopleUserName, "Ingresa nuevamente tu código de empleado:"); } } catch (Exception e) { Debug.WriteLine($"Error when searching for people: {e.Message}"); await context.PostAsync("¡LO SIENTO...! Por el momento no esta disponible este servicio. Por favor, intente más tarde."); context.Done <object>(null); } }
public ResultAutenticate Authenticate(User u) { User user = _userServiceSqlServer.FindByLogin(u.Login, u.AccessKey); if (user != null) { ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(user.Login, "Login"), new[] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim(JwtRegisteredClaimNames.UniqueName, user.Login) }); ResultAutenticate result = new ResultAutenticate(true, user, _tokenConfiguration.TimeSession); var handler = new JwtSecurityTokenHandler(); string token = CreateToken(identity, result, handler); return(result); } return(new ResultAutenticate(false, user, _tokenConfiguration.TimeSession)); }