首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法验证Twitter Oauth的临时凭据

无法验证Twitter Oauth的临时凭据
EN

Stack Overflow用户
提问于 2020-04-07 00:07:31
回答 1查看 246关注 0票数 0

我能够获得临时凭证并能够获得oauth令牌,但是当我使用返回的令牌来获取用户详细信息时,我无法获取它,因此出现错误。

我正在使用thephpleague/oauth1-client包,并创建了一个简单的控制器,其中我遵循了他们的Twitter Sample。从这里,我得到了这个错误

代码语言:javascript
复制
League\OAuth1\Client\Credentials\CredentialsException: Received HTTP status code [401] with message "{"errors":[{"code":32,"message":"Could not authenticate you."}]}" when getting temporary credentials. in /var/www/html/PF.Site/Apps/TipsMarketplace/vendor/league/oauth1-client/src/Client/Server/Server.php:418

下面是我创建的示例代码。

代码语言:javascript
复制
        $server = new Twitter(array(
            'identifier' => 'my-identifier',
            'secret' => 'my-secret',
            'callback_uri' => "http://localhost:8080/twitter/auth",
        ));

        session_start();
        if (isset($_GET['user'])) {
            $tokenCredentials = unserialize($_SESSION['token_credentials']);

            $user = $server->getUserDetails($tokenCredentials);
            var_dump($user);
        } elseif (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])) {
            $temporaryCredentials = unserialize($_SESSION['temporary_credentials']);

            $tokenCredentials = $server->getTokenCredentials($temporaryCredentials, $_GET['oauth_token'], $_GET['oauth_verifier']);

            unset($_SESSION['temporary_credentials']);
            $_SESSION['token_credentials'] = serialize($tokenCredentials);
            session_write_close();

            header("Location: http://{$_SERVER['HTTP_HOST']}/twitter/auth?user=user");
            exit;
        } elseif (isset($_GET['denied'])) {
            echo 'Hey! You denied the client access to your Twitter account!';
        }

        $temporaryCredentials = $server->getTemporaryCredentials();

        $_SESSION['temporary_credentials'] = serialize($temporaryCredentials);
        session_write_close();

        $server->authorize($temporaryCredentials);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-08 01:13:19

事实证明,我没有通过推特关注3-legged Oauth,这在图书馆的sample中也有说明。

在上面的代码中,我跳过了$server->authorize($temporaryCredentials),它将显示推特的授权页面/登录页面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61064065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档