/** * @brief self-test and example code for liboauth using * HTTP Authorization header. * @file oauthtest.c * @author Robin Gareus * * Copyright 2010, 2011 Robin Gareus * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #include #include #include #include /* * a example requesting and parsing a request-token from an OAuth service-provider * using OAuth HTTP Authorization header: * see http://oauth.net/core/1.0a/#auth_header * and http://oauth.net/core/1.0a/#consumer_req_param */ void request_token_example_get(void) { #if 0 const char *request_token_uri = "http://localhost/oauthtest.php?test=test"; const char *req_c_key = "17b09ea4c9a4121145936f0d7d8daa28047583796"; //< consumer key const char *req_c_secret = "942295b08ffce77b399419ee96ac65be"; //< consumer secret #else const char *request_token_uri = "http://term.ie/oauth/example/request_token.php"; const char *req_c_key = "key"; //< consumer key const char *req_c_secret = "secret"; //< consumer secret #endif char *res_t_key = NULL; //< replied key char *res_t_secret = NULL; //< replied secret char *req_url = NULL; char *req_hdr = NULL; char *http_hdr= NULL; char *reply; //req_url = oauth_sign_url2(request_token_uri, NULL, OA_HMAC, NULL, req_c_key, req_c_secret, NULL, NULL); // oauth_sign_url2 (see oauth.h) in steps int argc; char **argv = NULL; argc = oauth_split_url_parameters(request_token_uri, &argv); if (1) { int i; for (i=0;i