[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet] branch master updated: RECLAIM: Fix oidc helper WIP
From: |
gnunet |
Subject: |
[gnunet] branch master updated: RECLAIM: Fix oidc helper WIP |
Date: |
Tue, 07 May 2024 17:50:13 +0200 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a commit to branch master
in repository gnunet.
The following commit(s) were added to refs/heads/master by this push:
new 4addb2061 RECLAIM: Fix oidc helper WIP
4addb2061 is described below
commit 4addb206133dc723c0874343ceadb01cb0b65711
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Tue May 7 17:50:09 2024 +0200
RECLAIM: Fix oidc helper WIP
---
src/service/rest/oidc_helper.c | 25 ++++++++++++++++++++-----
src/service/rest/oidc_helper.h | 6 ++++--
2 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/src/service/rest/oidc_helper.c b/src/service/rest/oidc_helper.c
index 0c5a5a0d6..c0b2459f6 100644
--- a/src/service/rest/oidc_helper.c
+++ b/src/service/rest/oidc_helper.c
@@ -889,13 +889,16 @@ OIDC_build_token_response (const char *access_token,
* Generate a new access token
*/
char *
-OIDC_access_token_new (const struct GNUNET_RECLAIM_Ticket *ticket)
+OIDC_access_token_new (const struct GNUNET_RECLAIM_Ticket *ticket,
+ const char *rp_uri)
{
char *access_token;
+ char *tkt_b64;
GNUNET_STRINGS_base64_encode (ticket,
sizeof(*ticket),
- &access_token);
+ &tkt_b64);
+ GNUNET_asprintf (&access_token, "%s-%s", tkt_b64, rp_uri);
return access_token;
}
@@ -905,19 +908,31 @@ OIDC_access_token_new (const struct GNUNET_RECLAIM_Ticket
*ticket)
*/
int
OIDC_access_token_parse (const char *token,
- struct GNUNET_RECLAIM_Ticket **ticket)
+ struct GNUNET_RECLAIM_Ticket **ticket,
+ char **rp_uri)
{
size_t sret;
char *decoded;
- sret = GNUNET_STRINGS_base64_decode (token,
- strlen (token),
+ char *tmp;
+ char *tkt_str;
+ char *rp_uri_str;
+ tmp = GNUNET_strdup (token);
+ tkt_str = strtok (tmp, "-");
+ GNUNET_assert (NULL != tkt_str); // FIXME handle
+ rp_uri_str = strtok (NULL, "-");
+ GNUNET_assert (NULL != rp_uri_str); // FIXME handle
+ sret = GNUNET_STRINGS_base64_decode (tkt_str,
+ strlen (tkt_str),
(void**) &decoded);
if (sizeof (struct GNUNET_RECLAIM_Ticket) != sret)
{
GNUNET_free (decoded);
+ GNUNET_free (tmp);
return GNUNET_SYSERR;
}
*ticket = (struct GNUNET_RECLAIM_Ticket *) decoded;
+ *rp_uri = GNUNET_strdup (rp_uri_str);
+ GNUNET_free (tmp);
return GNUNET_OK;
}
diff --git a/src/service/rest/oidc_helper.h b/src/service/rest/oidc_helper.h
index 3e180f673..1732a044b 100644
--- a/src/service/rest/oidc_helper.h
+++ b/src/service/rest/oidc_helper.h
@@ -159,14 +159,16 @@ OIDC_build_token_response (const char *access_token,
* Generate a new access token
*/
char*
-OIDC_access_token_new (const struct GNUNET_RECLAIM_Ticket *ticket);
+OIDC_access_token_new (const struct GNUNET_RECLAIM_Ticket *ticket,
+ const char *rp_uri);
/**
* Parse an access token
*/
int
OIDC_access_token_parse (const char *token,
- struct GNUNET_RECLAIM_Ticket **ticket);
+ struct GNUNET_RECLAIM_Ticket **ticket,
+ char **rp_uri);
/**
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnunet] branch master updated: RECLAIM: Fix oidc helper WIP,
gnunet <=