Walletconnect backend user authentication

I’m struggling to find a way to authenticate the users using walletconnect.
On the client side everything works fine, the user can login using the qrcode.
The problem is the backend, I wanna create a database with some data of the users (user public key → data), but in order to return the data I have to be sure that the user it’s really him.
I thought that I can fix it by using a push notification to the server when the user logged using walletconnect but it only return a “topic”: <client_id>. and not the user public key.
So what’s the way to get a secure authentication from the server side?

Thanks in advance!

Hi @Leo1707

check this standard - ARC-0014 - Algorand Standard for authentication: Discussion for ARC-0014 - Algorand Standard for authentication · Issue #42 · algorandfoundation/ARCs · GitHub

implemented in .net NuGet Gallery | AlgorandAuthentication 1.0.0 … open source here GitHub - scholtz/AlgorandAuthenticationDotNet

used for example at www.globdrem.com

what language do you use for your backend?

I’m using typescript, with express.

Thanks a lot for the quick reply!!! I’ll try to make it works in the following days and ask if I got stuck again.

Have a nice evening,

I’m just having a small question about this method, when it’s asked to the user to sign the zero transaction, it create a popup in the wallet application and the user need to confirm the zero transaction there, or it’s just something in the dApp?
It can be annoying to the user to sign the zero transaction every time he enter in the application.
Or there is a way to doit just once and then the following times there is a different method?

Then I’m having a second questions about the walletconnect push server (link). The push notification it’s trigger from the wallet, the bridge server or the dApp? It’s not clear from the image (link).
Because I’m thinking that if the notification come from the wallet or the bridge server, it can be secure and reliable, form the dapp someone could change the code and send whatever likes.

I’m sorry if the technical details are not accurate,
Thanks a lot