challenger

OAuth 2.0-based authentication service that validates user can receive messages at a certain address
Log | Files | Refs | Submodules | README | LICENSE

commit 56c0bfd76ad72e8c78181ffa93b5089b418e760a
parent 9d9a2fb36d866e7b028fe3b70370fcf8a7582c78
Author: Sebastian <sebasjm@gmail.com>
Date:   Fri, 28 Jun 2024 11:29:44 -0300

client state may be NULL if no login was perform first

Diffstat:
Msrc/challenger/challenger-httpd_solve.c | 24+++++++++++++++++-------
1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/challenger/challenger-httpd_solve.c b/src/challenger/challenger-httpd_solve.c @@ -407,13 +407,23 @@ CH_handler_solve (struct CH_HandlerContext *hc, client_scope, address, client_redirect_uri); - url_encoded = TALER_urlencode (client_state); - GNUNET_asprintf (&url, - "%s?code=%s&state=%s", - client_redirect_uri, - code, - url_encoded); - GNUNET_free (url_encoded); + if (NULL == client_state) + { + GNUNET_asprintf (&url, + "%s?code=%s", + client_redirect_uri, + code); + } + else + { + url_encoded = TALER_urlencode (client_state); + GNUNET_asprintf (&url, + "%s?code=%s&state=%s", + client_redirect_uri, + code, + url_encoded); + GNUNET_free (url_encoded); + } GNUNET_free (code); } json_decref (address);