Genie Community Forum

Almond for Signal

Hi,

I was trying to integrate Signal into Almond. I was struggling with the authentication. My understanding says that it should come under Oauth2 however Signal uses Double Ratchet algorithm and Sesame for its encryption of messages along with X3DH, VXEdDSA for public and private keys which I suppose is the source of problem.

I tried implementing authentication similar to Twitter’s which is present in Github but it was not of much help.

Does anyone know how Signal can be integrated as a thingpedia device? My aim is to send and receive messages of Signal on Almond. The manifest.tt and dataset.tt files are working fine. The only issue is with the correct authentication.

Thanks!

Hi @tannypandey, welcome to the community!

The Signal protocol is quite complex and non-standard, I would suggest looking at a nodejs SDK to integrate with the protocol, if available. Once you find the SDK, I can help you integrate with the Thingpedia authentication flow. At a high-level, if it’s OAuth-like (ie, it involves a user signing in through a web page), it would go through BaseDevice.loadFromCustomOAuth and BaseDevice.completeCustomOAuth.

Note though that, as far as I know, third party clients are not allowed to connect to the official Signal servers, so you won’t be able to exchange messages with typical Signal clients.

1 Like

maybe this helps: GitHub - bbernhard/signal-cli-rest-api: Dockerized Signal Messenger REST API

1 Like