Thanks Henning,
I did take a look at the JWT module, prior posting to the ML, but it seems
to me that it requires a private key (.pem) which I won't have access to,
hence the only way to authenticate is to send a HTTPS request to an URL
with the login and password in it.... Or am I missing something?
The DB Table might be a good option, though the high amount of CPS might
overload the database, so I will try the HTable option instead.
Atenciosamente / Kind Regards / Cordialement / Un saludo,
*Sérgio Charrua*
On Tue, Aug 27, 2024 at 12:57 PM Henning Westerholt <hw(a)gilawa.com> wrote:
Hello,
don’t looked into the details, but the kamailio jwt module has a verify
function (
https://www.kamailio.org/docs/modules/stable/modules/jwt.html)
Regarding storage, you can easily store them in a DB table with sqlops, or
in htable in memory with automatic 24h expiry, just two options. The DB
could be used from multiple Kamailio servers, htable would be individual
per server.
Cheers,
Henning
--
Henning Westerholt –
https://skalatan.de/blog/
Kamailio services –
https://gilawa.com
*From:* Sergio Charrua via sr-users <sr-users(a)lists.kamailio.org>
*Sent:* Dienstag, 27. August 2024 12:58
*To:* Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>
*Cc:* Sergio Charrua <sergio.charrua(a)voip.pt>
*Subject:* [SR-Users] Kamailio integration with REST services
Hi all!
I need to integrate a REST Service with Kamailio. Integration is easy, not
a problem, but my concern is that the REST Services has a JWT token
authentication required for each request, common to many (it not all) REST
Services.
So, it is required to POST for authentication (username and password) and
once I get authentication done, and receive a JWT token, I will need to use
this token in all other requests to the REST Service. The token is valid
for 24h.
My question is:
- how to save the token for use during 24h, on all calls/sessions, without
the need to authenticate on every call?
- how to detect the token has expired and re-authenticate?
I looked for some modules, but could not find any that suited me.
I am thinking of executing a Python script for this, but concerned about
latency and PDD....
Any thoughts? Any suggestions? Any known best-practice?
Atenciosamente / Kind Regards / Cordialement / Un saludo,
*Sérgio Charrua*