Skip to content
Snippets Groups Projects
Select Git revision
  • 0049834af7609427f2b8f567f64b09db42758b6c
  • main default protected
2 results

OAuth.php

Blame
  • OAuth.php 22.95 KiB
    <?php
    // vim: foldmethod=marker
    
    $OAuth_last_computed_siguature = false;
    
    /* Generic exception class
     */
    class OAuthException extends Exception {
      // pass
    }
    
    class OAuthConsumer {
      public $key;
      public $secret;
    
      function __construct($key, $secret, $callback_url=NULL) {
        $this->key = $key;
        $this->secret = $secret;
        $this->callback_url = $callback_url;
      }
    
      function __toString() {
        return "OAuthConsumer[key=$this->key,secret=$this->secret]";
      }
    }
    
    class OAuthToken {
      // access tokens and request tokens
      public $key;
      public $secret;
    
      /**
       * key = the token
       * secret = the token secret
       */
      function __construct($key, $secret) {
        $this->key = $key;
        $this->secret = $secret;
      }
    
      /**
       * generates the basic string serialization of a token that a server
       * would respond to request_token and access_token calls with
       */
      function to_string() {
        return "oauth_token=" .
               OAuthUtil::urlencode_rfc3986($this->key) .
               "&oauth_token_secret=" .
               OAuthUtil::urlencode_rfc3986($this->secret);
      }
    
      function __toString() {
        return $this->to_string();
      }
    }
    
    class OAuthSignatureMethod {
      public function check_signature(&$request, $consumer, $token, $signature) {
        $built = $this->build_signature($request, $consumer, $token);
        return $built == $signature;
      }
    }
    
    class OAuthSignatureMethod_HMAC_SHA1 extends OAuthSignatureMethod {
      function get_name() {
        return "HMAC-SHA1";
      }
    
      public function build_signature($request, $consumer, $token) {
        global $OAuth_last_computed_signature;