diff options
author | José Bollo <jose.bollo@iot.bzh> | 2019-11-29 11:12:31 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2019-12-03 18:51:51 +0100 |
commit | b70caad7da2eaea85db06dec8377b1cbebcec997 (patch) | |
tree | 32e3cfa6b7da57ced019357d8f592b0d90dd7563 /src/afb-stub-ws.c | |
parent | 98b214e0454f1b55c5ce665bd5c848354d18c9e6 (diff) |
afb-context: Move credentials to context
The split between context and credentials
in requests was somehow artificial and awkward.
This change move the credentials to the context
and removes as many references to credentials
as possible in favor of working on contexts.
Change the value returned by afb_auth_check to be 1
if validated, 0 or less than zero if not validated.
Bug-AGL: SPEC-2968
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Change-Id: I979dc841e03247e126e3fa8433a1cc0d4108adf0
Diffstat (limited to 'src/afb-stub-ws.c')
-rw-r--r-- | src/afb-stub-ws.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/afb-stub-ws.c b/src/afb-stub-ws.c index 487873df..b3b2e58a 100644 --- a/src/afb-stub-ws.c +++ b/src/afb-stub-ws.c @@ -145,7 +145,6 @@ static void server_req_destroy_cb(struct afb_xreq *xreq) struct server_req *wreq = CONTAINER_OF_XREQ(struct server_req, xreq); afb_context_disconnect(&wreq->xreq.context); - afb_cred_unref(wreq->xreq.cred); json_object_put(wreq->xreq.json); afb_proto_ws_call_unref(wreq->call); afb_stub_ws_unref(wreq->stubws); @@ -526,10 +525,10 @@ static void server_on_call_cb(void *closure, struct afb_proto_ws_call *call, con wreq->call = call; /* init the context */ - afb_context_init(&wreq->xreq.context, session, token); + afb_context_init(&wreq->xreq.context, session, token, stubws->cred); + afb_context_on_behalf_import(&wreq->xreq.context, user_creds); /* makes the call */ - wreq->xreq.cred = afb_cred_mixed_on_behalf_import(stubws->cred, &wreq->xreq.context, user_creds); wreq->xreq.request.called_api = stubws->apiname; wreq->xreq.request.called_verb = verb; wreq->xreq.json = args; |