public IHttpActionResult message(ClsToken login) { if (login == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } Code_credencial usuario = new Code_credencial(); var ftusuario = new ClsCredencial(); ftusuario.Key = login.X_Key; if (usuario.getBuscarKey(ftusuario) == true && usuario.getToken(ftusuario).Equals(login.X_Signature) == true) { var mensaje = new ClsMessage(); //puede haber colision random semialeatorio Random rand = new Random(); int numeroRandom = rand.Next(1, 1000000); //mensaje.Message = login.Message; mensaje.Id = numeroRandom.ToString(); login.Id = numeroRandom.ToString(); usuario.setIdentifier(login); return(Ok(mensaje)); } return(StatusCode(HttpStatusCode.Forbidden)); }
public IHttpActionResult id(string X_Signature, string X_Key, string Id) { ClsToken login = new ClsToken(); login.X_Signature = X_Signature; login.X_Key = X_Key; login.Id = Id; if (login == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } Code_credencial usuario = new Code_credencial(); var ftusuario = new ClsCredencial(); ftusuario.Key = login.X_Key; if (usuario.getBuscarKey(ftusuario) == true && usuario.getToken(ftusuario).Equals(login.X_Signature) == true && usuario.getIdentifierId(login).Equals(login.Id) == true) { var mensaje = new ClsMessage(); mensaje.Message = usuario.getIdentifierMessage(login); return(Ok(mensaje)); } return(StatusCode(HttpStatusCode.Forbidden)); }
public IHttpActionResult Credential(ClsCredencial login) { if (login == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } Code_credencial usuario = new Code_credencial(); if (usuario.getBuscarKey(login) == false) { CodeHMAC hMac = new CodeHMAC(); var token = hMac.getHMAC256(login.Shared_Secret); usuario.setCrearCreden(login, token); var claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, login.Key), new Claim(ClaimTypes.Role, "Client"), }, "ApplicationCookie", ClaimTypes.Name, ClaimTypes.Role); var mToken = new ClsToken(); mToken.X_Signature = token; mToken.X_Key = login.Key; return(Ok(mToken)); //????????? //return StatusCode(HttpStatusCode.NoContent); } return(StatusCode(HttpStatusCode.Forbidden)); }
public string getIdentifierMessage(ClsToken tangs) { string id = ""; var cacheT = MemoryCache.Default; if (cacheT != null && cacheT.Contains(tangs.X_Key + tangs.Id) && cacheT.Get(tangs.X_Key + tangs.Id) != null) { id = cacheT.Get(tangs.X_Key + tangs.Id).ToString().Split('#')[1]; } return(id); }
public IHttpActionResult Authentication(ClsToken login) { if (login == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } Code_credencial usuario = new Code_credencial(); var ftusuario = new ClsCredencial(); ftusuario.Key = login.X_Key; if (usuario.getBuscarKey(ftusuario) == true && usuario.getToken(ftusuario).Equals(login.X_Signature) == true) { return(Ok()); } return(StatusCode(HttpStatusCode.Forbidden)); }
public void setIdentifier(ClsToken tangs) { var cache = MemoryCache.Default; if (cache != null && cache.Contains(tangs.X_Key + tangs.Id) && cache.Get(tangs.X_Key + tangs.Id) != null) { cache.Remove(tangs.X_Key + tangs.Id); MemoryCache.Default.AddOrGetExisting( tangs.X_Key + tangs.Id, tangs.Id + "#" + tangs.Message, DateTime.Now.AddMinutes(60)); } else { MemoryCache.Default.AddOrGetExisting( tangs.X_Key + tangs.Id, tangs.Id + "#" + tangs.Message, DateTime.Now.AddMinutes(60)); } }
public IHttpActionResult tag(string X_Signature, string X_Key, string Tag) { ClsToken login = new ClsToken(); login.X_Signature = X_Signature; login.X_Key = X_Key; login.Tag = Tag; if (login == null) { throw new HttpResponseException(HttpStatusCode.BadRequest); } Code_credencial usuario = new Code_credencial(); var ftusuario = new ClsCredencial(); ftusuario.Key = login.X_Key; if (usuario.getBuscarKey(ftusuario) == true && usuario.getToken(ftusuario).Equals(login.X_Signature) == true) { var mensaje = new ClsMessage(); if (login.Tag.Equals("key")) { return(Ok(usuario.getAllKey())); } else if (login.Tag.Equals("value")) { return(Ok(usuario.getAllValue())); } else { return(StatusCode(HttpStatusCode.Forbidden)); } } return(StatusCode(HttpStatusCode.Forbidden)); }