diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-04-26 23:40:11 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-04-26 23:40:11 +0100 |
commit | c42e8b907817fc76df4dc3b48d85858555102654 (patch) | |
tree | 25cc5dd76a35ec74045b643d566b6efd663cb365 /lib/oauth.c | |
parent | 713d6111cd754ff9eae4cfa1e6de82c9824d16db (diff) |
OAuth, it lives!
Diffstat (limited to 'lib/oauth.c')
-rw-r--r-- | lib/oauth.c | 14 |
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( ¶ms ); } + 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( ¶ms, req->reply_body ); + token = oauth_params_get( ¶ms, "oauth_token" ); + token_secret = oauth_params_get( ¶ms, "oauth_token_secret" ); + st->access_token = g_strdup_printf( + "oauth_token=%s&oauth_token_secret=%s", token, token_secret ); + oauth_params_free( ¶ms ); + } + st->stage = OAUTH_ACCESS_TOKEN; st->func( st ); } |