public Boolean EsTokenValido(CredencialDto credencial) { var client = new RestClient(values.BaseUrlMSFUCredenciales + FUControllers.CONTROLLER_MS_FU_CREDENCIALES + "/validar"); var response = client.Execute(new RestRequest().AddHeader("Authorization", "bearer " + credencial.TokenAcceso)); return(response.StatusCode == System.Net.HttpStatusCode.OK); }
public Boolean CrearCredencial(CredencialDto credencial) { CredencialesEntities db = new CredencialesEntities(); CREDENCIAL credencialEntity = this.mapper.Map <CredencialDto, CREDENCIAL>(credencial); db.CREDENCIAL.Add(credencialEntity); db.SaveChanges(); return(true); }
public IHttpActionResult ActualizarCredencial(CredencialDto credencial) { if (this.credencialesService.ActualizarCredencial(credencial)) { return(Ok(credencial)); } else { return(StatusCode(HttpStatusCode.NoContent)); } }
public CredencialDto ActualizarCredencialUsuario(CredencialDto credencial) { var client = new RestClient(values.BaseUrlMSFUCredenciales + FUControllers.CONTROLLER_MS_FU_CREDENCIALES + "/actualizar"); RestRequest request = new RestRequest(Method.POST); request.AddHeader("Authorization", "bearer " + credencial.TokenAcceso); request.RequestFormat = DataFormat.Json; request.AddJsonBody(credencial); var response = client.Execute <CredencialDto>(request); if (response.StatusCode == System.Net.HttpStatusCode.OK) { credencial = response.Data; } return(credencial); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { // Login inicial // No se disponen de datos de los tokens CredencialDto credencial = new CredencialDto(); credencial.Usuario = context.UserName; credencial.TokenAcceso = context.Password; IMsCredencialesService credencialesService = new MsCredencialesService(new MsCredencialesPersistence(), new MsCredencialesClient()); if (credencialesService.ValidarCredencialUsuario(credencial)) { ClaimsIdentity identidad = new ClaimsIdentity(context.Options.AuthenticationType); identidad.AddClaim(new Claim(ClaimTypes.Role, "FORMULARIO")); context.Validated(identidad); } }
public CredencialDto GetCredencialPorUsuario(String usuario) { CredencialDto credencial = null; CREDENCIAL credencialEntity; using (CredencialesEntities db = new CredencialesEntities()) { var datos = (from CREDENCIAL in db.CREDENCIAL where CREDENCIAL.Usuario.Equals(usuario) select CREDENCIAL); if (datos.Count() > 0) { credencialEntity = datos.First(); credencial = this.mapper.Map <CREDENCIAL, CredencialDto>(credencialEntity); } } return(credencial); }
public OAuth2ResponseDto GetOAuth2Acceso(CredencialDto credencial) { OAuth2ResponseDto resultado = null; var client = new RestClient(values.BaseUrlMSFUCredenciales + "/token"); RestRequest request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddParameter("grant_type", "password", ParameterType.GetOrPost); request.AddParameter("username", credencial.Usuario, ParameterType.GetOrPost); request.AddParameter("password", values.BizflowUserGeneralKey, ParameterType.GetOrPost); var response = client.Execute <OAuth2ResponseDto>(request); if (response.StatusCode == System.Net.HttpStatusCode.OK) { resultado = response.Data; } return(resultado); }
public Boolean ActualizarCredencial(CredencialDto credencial) { credencial.FechaMovimiento = DateTime.Now; CredencialesEntities db = new CredencialesEntities(); var credenciales = db.CREDENCIAL.Where(CREDENCIAL => CREDENCIAL.Usuario.Equals(credencial.Usuario)); // PK USUARIO Boolean actualizado = credenciales.Count() > 0; if (actualizado) { foreach (var credencialDb in credenciales) { credencialDb.NroBizflow = credencial.NroBizflow; credencialDb.ModoAcceso = credencial.ModoAcceso; credencialDb.FechaMovimiento = credencial.FechaMovimiento; credencialDb.TokenAcceso = credencial.TokenAcceso; credencialDb.TokenRefresco = credencial.TokenRefresco; credencialDb.TiempoExpiracionAcceso = credencial.TiempoExpiracionAcceso; credencialDb.TiempoExpiracionRefresco = credencial.TiempoExpiracionRefresco; } db.SaveChanges(); } return(actualizado); }
public IHttpActionResult ActualizarModoAcceso(CredencialDto credencial) { this.credencialesService.ActualizacionModoAcceso(credencial); return(Ok(credencial)); }
public Boolean ControlAcceso(String SiglaUsuario, int NroBizflow, TokenInformacion TokenInformacion, out CredencialDto Credencial) { Boolean Resultado = false; Credencial = new CredencialDto() { Usuario = SiglaUsuario, NroBizflow = NroBizflow, TokenAcceso = TokenInformacion.TokenAcceso, TokenRefresco = TokenInformacion.TokenRefresco }; // Primero validar el Token if (!this.credencialesClient.EsTokenValido(Credencial)) { OAuth2ResponseDto Response = null; if (TokenInformacion.EsRenovacion) { // Si renovacion, se utiliza refresh_token Response = this.credencialesClient.GetOAuth2Renovacion(Credencial.TokenRefresco); } else { // Si es primer acceso, se solicita access_token Response = this.credencialesClient.GetOAuth2Acceso(Credencial); TokenInformacion.EsRenovacion = true; } // Validacion respuesta if (null != Response && null == Response.Error) { Resultado = true; TokenInformacion.TokenAcceso = Response.AccessToken; TokenInformacion.TokenRefresco = Response.RefreshToken; Credencial.TokenAcceso = Response.AccessToken; Credencial.TokenRefresco = Response.RefreshToken; // Validar Modo CredencialDto credencialModo = this.credencialesClient.ActualizarModoAcceso(Credencial); if (null != credencialModo) { // Actualizar datos en servicio Credenciales Credencial = this.credencialesClient.ActualizarCredencialUsuario(credencialModo); } else { // En caso de error consultando el Modo, se actualiza el registro de todas formas en modo Visualizacion Credencial.ModoAcceso = Convert.ToDecimal(ModoAccesoUsuario.MODO_VISUALIZACION); Credencial = this.credencialesClient.ActualizarCredencialUsuario(Credencial); } } else { // Sin respuesta correcta, comenzar nuevamente TokenInformacion.EsRenovacion = false; TokenInformacion.TokenAcceso = null; TokenInformacion.TokenRefresco = null; } } else { // Token sigue siendo valido Resultado = true; } return(Resultado); }