VERNEMQ auth using SQL Server - mqtt-vernemq

I am trying to design something to authenticate my VERNEMQ mqtt broker clients using a SQL Server backend. I've read about webhooks and can use it but the deal breaker being that it does not support HTTPS. Was wondering if we can make vernemq directly authenticate from SQL Server, I've seen existing implementations on cockroach DB/Mongo/MySQL.

I think your 2 best options are a) to develop a native Plugin, possibly over ODBC driver, or b) contribute HTTPS WebHooks support to the VerneMQ project.
(as a maintainer of the project, I can say that PR's are always welcome ;)

Related

Multiplayer Game Server Using deepsream

I get to know that we can use List to make different rooms/lobby over server. I am new to server side development. I am bit confuse now. Like i need to make list(rooms) at server side. So which module I'll use to make server side code ? should i code using node js module of deepstream . Currently i have just connected to deepstream server and also connected rethinkdb and redis cache connector. So do i need to write a separate node module to do server side coding using node deepstream.io-client-js ? or do i need to implement a server over deepstream.io module?
it would be a great help if anyone can tell
When using deepstream, the notion of 'server-side coding' is less clear than in traditional http-based applications. Usually the client will communicate directly with the deepstream server, and often application logic can be defined directly in the client. Security is then provided by configuring Valve permissions and authentication in the deepstream config.
For cases where application logic cannot be handled securely on the client, we recommend setting up Data Providers. Here, one or more 'provider' servers will run a deepstream client and provide access to a resource through deepstream's RPCs (remote procedure calls) or using the Active Provider pattern.

How can I implement own webrtc server in my project?

I want to implement webrtc server in my project. I want to make my own webrtc server and deploy it in amazon server. How can I achieve this?
WebRTC is a peer-to-peer protocol so you don't need a server for this.
You will need a signaling server for session negotiation. How you'll implement this depends on the technology that you'll use - client side: polling, ajax, websockets, stomp etc and server side.
For STUN/TURN you can deploy an existing server or use RFC and develop your own from scratch.
#Adrian Ber is correct, you need a signalling server such as this one:
https://github.com/peers/peerjs-server
You can set one of these up on AWS
You'll also need some code on the client side. There is a matching javascript client library (which does most of the work) here: http://peerjs.com/
There are some examples on the peerjs web site - they either need to be run on your local machine or on https servers (browsers will no longer allow camera access over http)
Ignore the people saying that WebRTC is peer to peer only. There is no reason why you can't implement an application, run it on a server, and treat it as a 'peer' for the sake of webRTC when it is actually a server.
That said, we've looked into pulling the WebRTC implementation out of Chrome, but it is a huge task. Depending on what you want to do, you will likely only need to support a subset of WebRTC functionality (Data channel / unreliable for example if you're doing a multiplayer web game).
There might be a few implementations out there that have cropped up now, but last I checked there wasn't anything of note.

Sync framework with encryption

I am using Sync framework default database provider to synchronization (Sync framework 2.1). Can anyone please give me bit explanation how data transfer between client and server with sync framework? Are there any security threat with this Synchronizing? Can we use encryption with default database provider?
I read the following article,
http://msdn.microsoft.com/en-us/sync/bb887608.aspx
From a synchronization perspective, Sync Framework supports the
ability to encrypt data as it travels between databases. On the
corporate side, SQL Server 2008 as well as existing IIS security can
be leveraged for user authentication as users exchange data.
we are using the default sync provider. Can we use default database provider to synchronize over the HTTPS or SSL? Basically what I need to know is, can someone see the data transferring between client to server?
Please give me your answer.
Regards,
This post help me when I was using this technology
Making database schema changes using Microsoft Sync framework without losing any tracking table data
Here you can find two articles with information
https://drive.google.com/folderview?id=0B_21acb3mbRQV3Mxdm5TeVVTcEU&usp=sharing
Hi if your are using ssl its enough for encryption purpuse
Hope it helps
Sync Framework OOTB doesn't encrypt data over the wire.
if you're synching over HTTP, then you can enable SSL to encrypt the traffic.
you can also enable TDS encryption on the SQL Connection.

How to password protect a Node server?

I am very new to both node and Javascript, and am completely lost when it comes to PHP and Apache/nginx. I have an Amazon EC2 instance running my node server, which I am accessing through my browser via http://[my-ip]:[port-number]/.
There are a couple of things I'd like to accomplish -- most importantly, I'd like to require a username/password before the server will accept a client. A secondary objective, but one that I feel may be required in order to password protect the server, is to do away with the port number specification through some kind of proxy forwarding.
I've seen that others have accomplished this by adjusting server configurations and/or other utilities such as haproxy, but the examples were a little over my head and I'd like to understand what I'm doing at each step, because for me this project is more about learning than anything else.
Again, I am VERY inexperienced, so an easy-to-follow, bottom-up suggestion for how I should go about doing this would be very much appreciated!
So let's split your question into two:
a) Password protect server
I'm guessing you are talking about the basic HTTP auth. If you are using Express, you can use the Connect middleware in order to achieve that.
Find the example here: https://github.com/senchalabs/connect/blob/master/lib/middleware/basicAuth.js
Read more about it here: http://senchalabs.github.com/connect/middleware-basicAuth.html
b) You want a proxy. In production I'd say to choose HAProxy like you were suggested, but there are also other alternatives written in Node.js like bouncy or node-http-proxy which you can find more easy to understand.

websockets apache server compatibility

I want to make an app that displays new data whenever they arrive inside a folder via xml. I want to use html5 web sockets but I am confused on how it should be done. I am using xaamp on my machine for development. Do I have to install another server to use websockets? Is apache as it is compatible and if yes how do I make the connection with the client. Thank you in advance..
Your options are:
Use something like mod_websocket, as pointed out by Phillip Kovalev. Or pywebsocket. You could also try PHP WebSocket.
Use a dedicated self-hosted realtime web technology for realtime communication between server and client. If you do this you'll also need to define a way of application to realtime web server communications - normally achieved through message queues.
Use a hosted realtime web solution and offload the realtime push aspect of your application.
There are concerns about using Apache with this type of technology since this technology maintains long-running persistent connections between the server and client and Apache isn't know to be too great at this. So, the best solution may be to:
Go with a 2nd dedicated realtime web server in conjunction with using Apache as your application server
Use a self-hosted realtime web server that has the ability to handle many concurrent connections
Use a hosted service along with your Apache application server.
If you don't expect many concurrent connections or if you are just trying out the technology then it's possible that Apache alone will be all you need.
Look at mod_websocket. It supports latest and commonly implemented by browsers vendors protocol version.