aboutsummaryrefslogtreecommitdiffstats
path: root/lib/oauth.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-04-26 23:40:11 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-04-26 23:40:11 +0100
commitc42e8b907817fc76df4dc3b48d85858555102654 (patch)
tree25cc5dd76a35ec74045b643d566b6efd663cb365 /lib/oauth.c
parent713d6111cd754ff9eae4cfa1e6de82c9824d16db (diff)
OAuth, it lives!
Diffstat (limited to 'lib/oauth.c')
-rw-r--r--lib/oauth.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/oauth.c b/lib/oauth.c
index 828d713d..7f60f4f5 100644
--- a/lib/oauth.c
+++ b/lib/oauth.c
@@ -301,6 +301,7 @@ static void oauth_request_token_done( struct http_request *req )
oauth_params_free( &params );
}
+ st->stage = OAUTH_REQUEST_TOKEN;
st->func( st );
}
@@ -321,8 +322,19 @@ static void oauth_access_token_done( struct http_request *req )
struct oauth_info *st = req->data;
if( req->status_code == 200 )
- st->access_token = g_strdup( req->reply_body );
+ {
+ GSList *params;
+ const char *token, *token_secret;
+
+ oauth_params_parse( &params, req->reply_body );
+ token = oauth_params_get( &params, "oauth_token" );
+ token_secret = oauth_params_get( &params, "oauth_token_secret" );
+ st->access_token = g_strdup_printf(
+ "oauth_token=%s&oauth_token_secret=%s", token, token_secret );
+ oauth_params_free( &params );
+ }
+ st->stage = OAUTH_ACCESS_TOKEN;
st->func( st );
}