diff options
author | Fulup Ar Foll <fulup@iot.bzh> | 2015-12-29 02:15:07 +0100 |
---|---|---|
committer | Manuel Bachmann <manuel.bachmann@iot.bzh> | 2015-12-29 02:15:26 +0100 |
commit | da9b5d47f01f786f3170c80724a1a6d8f9b94ebb (patch) | |
tree | e5183502c07df8a8597a9f13a3d06c6190371147 | |
parent | 07c775201fbd9477bd4a69cee3d48a95eb612bc6 (diff) |
Switch to unique token model
Token/Session Plugin is now able to issue a globally-valid
token (re-useable with all Plugins, so that an application
using multiple plugins is not forced to manage multiple
tokens anymore).
Adapt Audio & Radio Plugins to this model (init functions
do not create a token anymore, check for a prior existing
one).
Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
Author: Fulup Ar Foll <fulup@iot.bzh>
Author: Manuel Bachmann <manuel.bachmann@iot.bzh>
-rw-r--r-- | plugins/audio/audio-api.c | 4 | ||||
-rw-r--r-- | plugins/radio/radio-api.c | 4 | ||||
-rw-r--r-- | src/rest-api.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/plugins/audio/audio-api.c b/plugins/audio/audio-api.c index 4c7df8b0..3877ce5b 100644 --- a/plugins/audio/audio-api.c +++ b/plugins/audio/audio-api.c @@ -58,7 +58,7 @@ STATIC void freeAudio (void *context) { /* ------ PUBLIC PLUGIN FUNCTIONS --------- */ -STATIC json_object* init (AFB_request *request) { /* AFB_SESSION_CREATE */ +STATIC json_object* init (AFB_request *request) { /* AFB_SESSION_CHECK */ json_object *jresp; int idx; @@ -225,7 +225,7 @@ STATIC json_object* ping (AFB_request *request) { /* AFB_SESSION_NONE */ } STATIC AFB_restapi pluginApis[]= { - {"init" , AFB_SESSION_CREATE, (AFB_apiCB)init , "Audio API - init"}, + {"init" , AFB_SESSION_CHECK, (AFB_apiCB)init , "Audio API - init"}, {"volume" , AFB_SESSION_CHECK, (AFB_apiCB)volume , "Audio API - volume"}, {"channels", AFB_SESSION_CHECK, (AFB_apiCB)channels , "Audio API - channels"}, {"mute" , AFB_SESSION_CHECK, (AFB_apiCB)mute , "Audio API - mute"}, diff --git a/plugins/radio/radio-api.c b/plugins/radio/radio-api.c index 1cbf3149..b09cea86 100644 --- a/plugins/radio/radio-api.c +++ b/plugins/radio/radio-api.c @@ -126,7 +126,7 @@ STATIC void freeRadio (void *context, void *handle) { /* ------ PUBLIC PLUGIN FUNCTIONS --------- */ -STATIC json_object* init (AFB_request *request) { /* AFB_SESSION_CREATE */ +STATIC json_object* init (AFB_request *request) { /* AFB_SESSION_CHECK */ json_object *jresp; @@ -306,7 +306,7 @@ STATIC json_object* ping (AFB_request *request) { /* AFB_SESSION_NONE */ STATIC AFB_restapi pluginApis[]= { - {"init" , AFB_SESSION_CREATE, (AFB_apiCB)init , "Radio API - init"}, + {"init" , AFB_SESSION_CHECK, (AFB_apiCB)init , "Radio API - init"}, {"power" , AFB_SESSION_CHECK, (AFB_apiCB)power , "Radio API - power"}, {"mode" , AFB_SESSION_CHECK, (AFB_apiCB)mode , "Radio API - mode"}, {"freq" , AFB_SESSION_CHECK, (AFB_apiCB)freq , "Radio API - freq"}, diff --git a/src/rest-api.c b/src/rest-api.c index 398ba577..2596f305 100644 --- a/src/rest-api.c +++ b/src/rest-api.c @@ -510,7 +510,7 @@ ProcessApiCall: // client did not pass token on URI let's use cookies if ((!request->restfull) && (request->context != NULL)) { char cookie[64]; - snprintf (cookie, sizeof (cookie), "%s=%s", COOKIE_NAME, request->uuid); + snprintf (cookie, sizeof (cookie), "%s=%s;path=/api;max-age=%d", COOKIE_NAME, request->uuid, request->config->cntxTimeout); MHD_add_response_header (webResponse, MHD_HTTP_HEADER_SET_COOKIE, cookie); } |