public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext) { // Return BadRequest if request is null if (WebOperationContext.Current == null) { throw new WebFaultException(HttpStatusCode.BadRequest); } // Get Token from header var token = WebOperationContext.Current.IncomingRequest.Headers["Token"]; // Validate the Token using (var dbContext = new MatrimonyEntities()) { ITokenValidator validator = new DatabaseTokenValidator(dbContext); if (!validator.IsValid(token)) { throw new WebFaultException(HttpStatusCode.Forbidden); } // Add User ids to the header so the service has them if needed WebOperationContext.Current.IncomingRequest.Headers.Add("User", validator.Token.Id.ToString()); // WebOperationContext.Current.IncomingRequest.Headers.Add("UserId", validator.Token.user.id.ToString()); } return null; }
public DatabaseTokenBuilder(MatrimonyEntities dbContext) { _DbContext = dbContext; }
public DatabaseTokenValidator(MatrimonyEntities dbContext) { _DbContext = dbContext; }
public DatabaseCredentialsValidator(MatrimonyEntities dbContext) { _DbContext = dbContext; }