自动获取签名的请求令牌

时间:2012-02-15 08:25:33

标签: php curl oauth

根据我对OAuth的理解,流程是:

  1. 获取未签名的请求令牌
  2. 通过获取用户授权获取签名的请求令牌
  3. 获取访问令牌
  4. 我想使用php curl自动获取签名的请求令牌。一旦我有了未签名的请求令牌,我就想要一个函数转到授权URL,登录并返回授权的请求令牌。基本上用用户名和密码模仿基本授权。这可能吗?

    我知道这不是一般解决方案,因为curl postdata必须特定于网站。

    由于

    这是一些代码,我希望它有助于向您展示我正在尝试做的事情。

    function login($username, $password) {
        $url = 'https://www.scoop.it/oauth/authorize?' . http_build_query(array('oauth_token' => $requestToken['oauth_token'], 'oauth_callback' => $callbackurl));
    
        $postdata = "email=".$username."&password=".$password; 
    
        $ch = curl_init();
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);   
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    
    
        $response = curl_exec($ch)
        curl_close ($ch);
    }
    

1 个答案:

答案 0 :(得分:0)

您的脚本需要:

  1. 获取未经授权的请求令牌
  2. 使用令牌和回调网址将用户重定向到授权网址
  3. 您已完成第1步;获取访问令牌。现在,您必须告诉用户的浏览器重定向到授权URL。

    header('HTTP/1.1 301 Moved Permanently');
    header('Location: '.$AUTHORIZE_URL_WITH_TOKEN);
    

    请记住,您必须在发生的第一个print()echo()之前发送所有标头。