【问题标题】:How to solve serialize/unserialize errors with zend oauth?如何使用 zend oauth 解决序列化/反序列化错误?
【发布时间】:2011-11-01 15:21:20
【问题描述】:

使用zend oauth,我从linkedin获取令牌,并按照本文进行序列化

http://www.contentwithstyle.co.uk/content/linkedin-and-zendoauth/

但是序列化的字符串有奇怪的字符,这意味着反序列化不起作用。有没有其他方法可以做到这一点?

【问题讨论】:

  • 老实说,我不知道为什么该示例正在序列化/反序列化令牌。我构建了一个linkedin oauth 实现,只是将令牌正常存储在会话中。
  • 好的,你有什么例子吗?
  • 你是序列化的,可以放到session里面吗?在这种情况下,使用 md5 哈希会更好。
  • md5 哈希值不容易可逆...
  • 结合base64_encode/decode

标签: zend-framework oauth linked-list


【解决方案1】:

这是一个代码 sn-p。它不漂亮,但是……是的。它使用 php Oauth 插件运行,而不是 Zend Oauth。

$oauth = new OAuth(PUBLIC_KEY, SECRET_KEY);
$oauth->setTimestamp(time());

if (!isset($_SESSION['token']) && $_SESSION['state'] != 1){
    $_SESSION['state'] = 1;
    $request_token_info = $oauth->getRequestToken("https://api.linkedin.com/uas/oauth/requestToken?oauth_callback=http://www.*******.com/this_script.php");
    $_SESSION['secret'] = $request_token_info['oauth_token_secret'];
    $_SESSION['key'] = $request_token_info['oauth_token'];
    header('Location: https://www.linkedin.com/uas/oauth/authorize?oauth_token=' . $request_token_info['oauth_token'] );
}
else if ($_SESSION['state'] == 1) {
    $oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
    $access_token_info = $oauth->getAccessToken('https://api.linkedin.com/uas/oauth/accessToken');
    $_SESSION['state'] = 2;
    $_SESSION['token'] = $access_token_info['oauth_token'];
    $_SESSION['secret'] = $access_token_info['oauth_token_secret'];
    $_REQUEST['action'] = 'lookup';
}

$oauth->setToken($_SESSION['token'],$_SESSION['secret']);
$oauth->fetch("http://api.linkedin.com/v1/people/~:(summary,educations,positions)", null, GET);//:(educations,positions,summary)", null, GET);

$xmlresult = $oauth->getLastResponse();

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-12-13
  • 1970-01-01
  • 2014-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 2012-01-01
相关资源
最近更新 更多