如何保持OAuth设置的秘密?

时间:2013-05-07 10:06:46

标签: php codeigniter oauth twitter wamp

creating my Twitter application之后,显示以下警告:

  

OAuth设置

     

您的应用程序的OAuth设置。保持“消费者秘密”a   秘密。在您的应用程序中,此键永远不应该是人类可读的。

如何保密“消费者秘密”?

Twitter_test.php (来源:Jimbo)     

// Set access tokens here
$settings = array(
    'oauth_access_token' => "My Oauth Access Token",
    'oauth_access_token_secret' => "My Oauth Access Token Secret",
    'consumer_key' => "My Consumer Key",
    'consumer_secret' => "My Consumer Secret"   
    );


$url = 'https://api.twitter.com/1.1/followers/ids.json';
$getfield = '?username=somename';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
echo $twitter->setGetfield($getfield)
             ->buildOauth($url, $requestMethod)
             ->performRequest();

?>

TwitterAPIExchange (来源:twitter-api-php

3 个答案:

答案 0 :(得分:3)

您可以在序列化格式中将Consumer secret保存在数据库中,而不是在获取时使用它来反序列化。

答案 1 :(得分:3)

我{@ 3}}与Twitter Api集成,并将数据存储在 application / config / 的配置文件中,如给定链接中所述。

为了取悦Twitter,只需解析:

$this->load->library('encrypt');

echo $this->encrypt->encode('your given secret here');

获取输出,将其存储在配置文件中,并在获取时:

$this->load->library('encrypt');

$str_secret = $this->encrypt->decode($config['secret']);

请注意,他们要求您这样做以获得最大的安全性,以防有人控制您的ftp或类似。但是,如果它可以被解码,则可以读取它。这不是最终的解决方案,而只是更可靠的解决方案。

答案 2 :(得分:1)

consumer_secret是您在注册api时由Twitter提供的密钥。您可以通过将推特代码放入您的库或任何此类文件夹来保证安全,并确保无法使用浏览器网址直接访问该文件夹。

例如,如果你将twitter config.php放在lib文件夹中,那么它就不应该像这样

www.somedomain.com/lib/config.php