aboutsummaryrefslogtreecommitdiffstats
path: root/lib/oauth.h
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-04-26 22:20:09 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-04-26 22:20:09 +0100
commitacba168df90f28fdaee26bc09d621364878dd099 (patch)
tree82121fc2a12c376f1433d08df0b253be742f29d9 /lib/oauth.h
parent508c340d1d12d3ca932001d7ee1dea1a4c81bf02 (diff)
Moving two public OAuth functions into the header file.
Diffstat (limited to 'lib/oauth.h')
-rw-r--r--lib/oauth.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/oauth.h b/lib/oauth.h
index 98e58c64..91696d83 100644
--- a/lib/oauth.h
+++ b/lib/oauth.h
@@ -21,4 +21,39 @@
* *
\***************************************************************************/
+/* http://oauth.net/core/1.0a/ */
+
+struct oauth_info;
+typedef void (*oauth_cb)( struct oauth_info * );
+
+struct oauth_info
+{
+ oauth_cb func;
+ void *data;
+
+ struct http_request *http;
+
+ char *auth_params;
+ char *token;
+
+ char *access_token;
+};
+
+/* http://oauth.net/core/1.0a/#auth_step1 (section 6.1)
+ Request an initial anonymous token which can be used to construct an
+ authorization URL for the user. This is passed to the callback function
+ in a struct oauth_info. */
+void *oauth_request_token( const char *url, oauth_cb func, void *data );
+
+/* http://oauth.net/core/1.0a/#auth_step3 (section 6.3)
+ The user gets a PIN or so which we now exchange for the final access
+ token. This is passed to the callback function in the same
+ struct oauth_info. */
+void *oauth_access_token( const char *url, const char *pin, struct oauth_info *st );
+
+/* http://oauth.net/core/1.0a/#anchor12 (section 7)
+ Generate an OAuth Authorization: HTTP header. access_token should be
+ saved/fetched using the functions above. args can be a string with
+ whatever's going to be in the POST body of the request. GET args will
+ automatically be grabbed from url. */
char *oauth_http_header( char *access_token, const char *method, const char *url, char *args );