File: Token.php

package info (click to toggle)
php-horde-oauth 2.0.4-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, sid
  • size: 116 kB
  • sloc: xml: 325; php: 276; makefile: 2
file content (50 lines) | stat: -rw-r--r-- 1,203 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
/**
 * Copyright 2008-2017 Horde LLC (http://www.horde.org/)
 *
 * @author   Chuck Hagenbuch <chuck@horde.org>
 * @license  http://www.horde.org/licenses/bsd BSD
 * @category Horde
 * @package  Oauth
 */

/**
 * OAuth access tokens and request tokens
 *
 * @author   Chuck Hagenbuch <chuck@horde.org>
 * @license  http://www.horde.org/licenses/bsd BSD
 * @category Horde
 * @package  Oauth
 */
class Horde_Oauth_Token
{
    public $key;
    public $secret;

    /**
     * key = the token
     * secret = the token secret
     */
    function __construct($key, $secret)
    {
        $this->key = $key;
        $this->secret = $secret;
    }

    /**
     * Generate the basic string serialization of a token that a server would
     * respond to request_token and access_token calls with.
     */
    public function __toString()
    {
        return
            'oauth_token='.Horde_Oauth_Utils::urlencodeRfc3986($this->key).
            '&oauth_token_secret='.Horde_Oauth_Utils::urlencodeRfc3986($this->secret);
    }

    public static function fromString($string)
    {
        parse_str($string, $parts);
        return new self($parts['oauth_token'], $parts['oauth_token_secret']);
    }
}