LinkedIn回调不适用于某些URL(使用Zend Framework)

时间:2012-08-30 20:02:12

标签: php zend-framework oauth linkedin

LinkedIn似乎不喜欢重定向回测试网站的想法。

此代码将我引导至LinkedIn确认页面,没有任何问题: (这几乎是使用Zend的OAuth的样板示例)

$options = array(
    'version'               => '1.0',
    'callbackUrl'           => 'http://dev.local/',
    'requestTokenUrl'       => 'https://api.linkedin.com/uas/oauth/requestToken',
    'userAuthorizationUrl'  => 'https://api.linkedin.com/uas/oauth/authorize',
    'accessTokenUrl'        => 'https://api.linkedin.com/uas/oauth/accessToken',
    'consumerKey'           => [api],
    'consumerSecret'        => [secret]
);

$consumer = new Zend_Oauth_Consumer( $options );

// Start Requesting a LinkedIn Request Token
$token = $consumer->getRequestToken ();

// Store the LinkedIn Request Token
$_SESSION ['REQUEST_TOKEN'] = serialize ( $token );

// Redirect the Web User to LinkedIn Authentication  Page
$consumer->redirect ();

但是,如果我的回调是http://dev.local/,则它不会重定向,但如果我指定了一个有效的域(例如http://www.google.com),则会重定向并没有问题。

这种行为最近发生了(直到大约一个月前工作正常)。这显然是一个严重的痛苦,因为我需要部署代码才能测试任何东西。

这是人们经历过的问题,有没有人找到办法绕过?

1 个答案:

答案 0 :(得分:1)

这似乎是因为LinkedIn changed their API,特别是api如何与Oauth互动:

  

在技术方面,我们借用了OAuth 2.0的概念   "范围"参数并将其合并到我们的OAuth 1.0a和JS中   身份验证流程。

似乎其他应用程序,插件和库也遇到了一些困难。