【问题标题】:Linkedin Peer certificate cannot be authenticated with known CA certificates ORLinkedin Peer 证书无法使用已知 CA 证书进行身份验证或
【发布时间】:2017-06-09 23:47:07
【问题描述】:

我正在尝试从 Linkedin 调用 url https://www.linkedin.com/oauth/v2/accessToken 获取访问令牌,如 https://developer.linkedin.com/docs/oauth2 中所述,使用 php + curl

但我收到一个错误Peer certificate cannot be authenticated with known CA certificates 如果我尝试将 curl 选项 CURLOPT_SSL_VERIFYPEER 设置为 false - 我会收到另一个错误 403 Forbidden

    $client = new \yii\httpclient\Client([
        'transport' => 'yii\httpclient\CurlTransport',
    ]);
    $response = $client->createRequest()
        ->setMethod('post')
        ->setUrl('https://www.linkedin.com/oauth/v2/accessToken')
        ->addHeaders(['content-type' => 'application/x-www-form-urlencoded'])
        ->setData([
            'grant_type' => 'authorization_code',
            'code' => $_GET['code'],
            'redirect_uri' => 'http://test-network.tk/user/settings/test',
            'client_id' => 'MY_CLIENT_ID',
            'client_secret' => 'MY_CLIENT_SECRET',
        ])
        ->setOptions([
            'sslVerifyPeer' => false,
        ])
        ->send();

请帮帮我

PS:如果我尝试通过浏览器或 linux 命令行使用 GET 调用相同的 url - 一切正常,我得到一个访问令牌!

【问题讨论】:

    标签: php oauth-2.0 yii2 httpclient linkedin-api


    【解决方案1】:

    问题解决了。只是我使用了俄罗斯托管服务提供商,但在俄罗斯,Linkedin 被屏蔽了 - https://blocklist.rkn.gov.ru/#anchor 但是我的本地计算机位于乌克兰,所以我的请求从浏览器和终端成功。

    【讨论】:

      猜你喜欢
      • 2020-06-27
      • 1970-01-01
      • 2013-01-18
      • 2013-01-12
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 2017-11-26
      • 2023-03-29
      相关资源
      最近更新 更多